Reference no: EM133639978
Full-Stack Take Home Challenge
Front End Task:
Kaizntree Front-End Take Home Challenge
Back End Task:
Goal:
Your goal is to create a set of RESTful API endpoints using Django REST Framework that can serve data to front-end dashboards similar to the provided images of Kaizntree's item dashboard.
Instructions
Data Models: Define data models in Django corresponding to the various entities shown in the item dashboard.
Database Connection: Set up a database connection. You can choose between SQL (e.g., PostgreSQL, MySQL,Sqlite) or NoSQL (e.g., MongoDB) databases based on the provided data structure.In your video explanation, discuss your choice of database and justify why it is the most suitable option for this project.
API Endpoints:
Item Dashboard: Create an API endpoint to retrieve a list of items, including their SKU, name, category, tags, stock status, and available stock.
Serialization: Use Django REST Framework serializers to handle the conversion of model instances to JSON format.
Query Parameters: Implement query parameters for filtering results (e.g., date ranges, stock status).
API Documentation: Document the API endpoints with expected request and response formats.
Authentication: Ensure the API endpoints are secure and can only be accessed by authenticated users.
Testing: Write unit tests for your API endpoints to validate their functionality.
Bonus:
Implement caching to optimise the performance of your API.
Create a basic front-end interface (using a framework of your choice) that consumes your API and displays the data in a user-friendly format.
Deliverables:
Please submit your code to your github account and make the repository public for us to see and review your code base - send it [email protected].
A Django project with the RESTful API application.
Instructions for setting up and running the application.
API documentation and instructions on how to consume the endpoints.
Please deploy your web app on a free cloud tier provider like Heroku or azure or aws for students, and share the API endpoints for us to evaluate , including the query parameter and authentication token if need be.
Unit tests for each API endpoint.
The video explanation as outlined above.
Record a video explaining your approach for selecting the specific database and front-end technologies. Discuss the reasons behind your choices and how they align with the project requirements. Additionally, explain your implementation strategy for API pagination and why it is effective. Please ensure to highlight any open-source technologies used and their advantages.
Evaluation Criteria:
Correctness of API functionality.
Quality and clarity of code.
Adherence to RESTful practices.
Implementation of query parameters and data filtering.
Security measures for API access.
Coverage and quality of unit tests.
The rationale and effectiveness of database and front-end technology choices.
Use of open-source technologies where possible.