Let's set the stage, you're the founder of this new messaging startup and you're building your first product. You know it will change over time with feedback from the rest of the team and users; but you still need to start somewhere.
You're building the backend in Django and your first task is to expose an initial API. With this first release, you want to deliver the following stories.
- As a user, I want to see all the other users on the platform.
- As a user, I want to see my conversation with another user
- As a user, I want to be able to message another user on the platform.
Since this is your startup and your product, that you are going to maintain and extend for some time; it's up to you to setup and use the practices that you think are important to you. And you can use any Python library that you want to use. You're the boss! ;-)
We've setup a Django skeleton project for you + setup Docker. Feel free to use Docker for dev or Python venv for your local development. You can use use any Python libraries you want to use. You do not need to setup any user registration or management, it's fine to create them on the shell and use session authentication for the API. We expect you to deliver your solution as a PR to our public repo.