Django REST API For Product Catalog
Budget: ₹12,500 – ₹37,500 INR
I’m building a new product-focused application and need a solid backend, written in Python with Django and the Django REST Framework, that cleanly exposes a JSON API. The core objective is straightforward: create well-structured endpoints so my frontend can list, create, update and delete product records quickly and securely.
Here is what I expect:
• A Django project configured for a relational database (PostgreSQL or MySQL—whichever you prefer or I can supply credentials for).
• A Product model with sensible fields (name, description, price, inventory count, sku, timestamps, etc.) plus any helpful validation.
• DRF serializers, viewsets and URL routing that provide full CRUD functionality, paginated list views and simple filtering by category or search term.
• Basic authentication (token or session-based is fine) so requests are protected out of the box.
• Initial migration files and a small set of sample fixtures so I can spin the project up locally in one command.
• Clear, concise README or Swagger/OpenAPI docs that outline the endpoints, request/response formats and example calls.
• Unit tests for the main logic—nothing exhaustive, but enough coverage that future changes are easy to validate.
Acceptance criteria
1. Spinning up docker-compose (or a virtualenv) starts the API and the relational DB with no errors.
2. Hitting /api/products/ returns paginated results in JSON.
3. POSTing a valid product object creates it and returns HTTP 201.
4. All endpoints require authentication; unauthenticated requests return 401.
5. pytest or Django’s test runner reports green on at least one model and one viewset test.
If you love clean code, can communicate progress clearly, and can deliver the above quickly, I’d be happy to work with you.
Here is what I expect:
• A Django project configured for a relational database (PostgreSQL or MySQL—whichever you prefer or I can supply credentials for).
• A Product model with sensible fields (name, description, price, inventory count, sku, timestamps, etc.) plus any helpful validation.
• DRF serializers, viewsets and URL routing that provide full CRUD functionality, paginated list views and simple filtering by category or search term.
• Basic authentication (token or session-based is fine) so requests are protected out of the box.
• Initial migration files and a small set of sample fixtures so I can spin the project up locally in one command.
• Clear, concise README or Swagger/OpenAPI docs that outline the endpoints, request/response formats and example calls.
• Unit tests for the main logic—nothing exhaustive, but enough coverage that future changes are easy to validate.
Acceptance criteria
1. Spinning up docker-compose (or a virtualenv) starts the API and the relational DB with no errors.
2. Hitting /api/products/ returns paginated results in JSON.
3. POSTing a valid product object creates it and returns HTTP 201.
4. All endpoints require authentication; unauthenticated requests return 401.
5. pytest or Django’s test runner reports green on at least one model and one viewset test.
If you love clean code, can communicate progress clearly, and can deliver the above quickly, I’d be happy to work with you.