You are tasked with designing and building a REST API with basic user authentication (not oAuth).
The REST API should allow basic CRUD operations for dogs (create, read, update, delete). Only authenticated users should be able to create, update, and delete dogs; whereas any user should be able to view/read a dog(s). Users should be able to search for dogs via a partial (or complete) term -- how you choose to implement this is entirely up to you.
All data should be handled with JSON -- we should be able to interact with your API via cURL, postman, insomnia, etc
- Prefer a python backend, but contact me if you want to do it in a different stack
- Use PostgreSQL
- Use good practices and ensure app can be scaled
- Have tests (TDD / BDD, unit tests, etc)
- Dont spend too much time (estimated at ~4 hours)
- Feel free to use any web framework
- The more tests the better
- Error handling is a big plus
- Docker is not required, but is a bonus
- Try to document and design the API as you would a production application
- Take your time with the authentication, we're looking for best practices
If you have any questions please email me at [email protected]