Backend Developer Assignment
Assignment:
Create APIs which stores electronic products into a remote database.
1. Login API: User should be able to login using username and password.
2. Electronic Product CRUD APIs: These APIs will provide options to list the electronic
products along with options to create, update and delete the product.
a. Each product will have the following attributes:
i. Name: Text Field
ii. Description: Text Field
iii. Type: Enum field with values: Mobile and Laptop
b. If the type selected is ‘Mobile’ then following additional attributes has to be
captured: processor, RAM, screen size, color.
c. If the type selected is ‘Laptop’ then following additional attributes has to be
captured: processor, RAM, HD capacity.
d. All attributes are mandatory.
3. Write appropriate unit test cases for APIs.
Guidelines for Development:
1. Use Django for Backend development.
2. Use MySQL/PostgreSQL or RDBMS for database.
3. Use REST architectural style for API development.
4. Spend some time to properly architect your solution. The goal is to see how well you can
think about software design (OOP concepts, abstractions, design patterns etc)
5. Make sure your code is structured well and follow clean coding practices.
Deliverables:
1. GIT link of codebase.
2. Installation steps to deploy the backend in an ubuntu based server.
3. APIs as Postman Collection.
4. Provide steps to run unit test cases as well.
Duration:
4 days to complete.
Important Note:
Please make sure to follow the guidelines for development else the assignment would be
rejected.