Backend Assignment: API Development Task
Assignment Title:This assignment aims to assess your backend development skills by
requiring you to implement at least two fully functional APIs from a provided Postman collection.
The APIs should adhere to the specified request/response structure and seamlessly integrate
with the given frontend codebase and a PostgreSQL database.
Login Credentials: Phone Number: `7760873976` Password: `to_share@123`
Resources:
● Postman Collection: KPA_form data.postman_collection.json
● Hosted API (for reference): https://kpa.suvidhaen.com
● Frontend Code: https://github.com/s2pl/KPA-ERP-FE/
● API Documentation (SwaggerHub):
https://app.swaggerhub.com/apis/sarvasuvidhaen/kpa-form_data/1.0.0
Assignment Description:
Choose any two APIs from the provided Postman collection and implement them using a
backend framework of your choice, preferably Python FastAPI or Django.Key Requirements:
1. API Selection:
○ Select any two APIs from the SwaggerHub documentation.
○ Ensure the chosen APIs demonstrate diverse functionalities (e.g., a combination
of POST/GET, file upload, or database operations).
2. API Functionality:
○ Implement API endpoints precisely as defined in the Postman examples (URL,
method, request body, and response format).
○ Utilize PostgreSQL for database operations.
○ Verify that the complete flow works by running the Flutter frontend and calling
your developed API endpoints, ensuring data is stored in the PostgreSQL
database.
3. Documentation & Testing:
○ Provide an updated Postman collection including your implemented API
endpoints.
○ Thoroughly test your APIs using Postman to confirm correct status codes and
expected responses.
4. Preferred Tech Stack:
○ Python (FastAPI / Django REST Framework)
Deliverables:
● Source Code: Hosted on GitHub or provided as a zipped folder.
● Updated Postman Collection: With functional API responses.
● README File: A concise README file that includes:
○ Setup instructions for the project.
○ The technologies and tech stack used.
○ A list and description of the implemented APIs.
○ Any limitations or assumptions made.
● Screen Recording: A screen recording (approximately 2-5 minutes) explaining your
project features, technologies, and stack.
○ Upload the recording to your Google Drive.
○ Rename the video file with your name as a prefix (e.g.,
`rohan_flutter_assignment.mp4`).
○ If multiple links are required for different aspects (e.g., project features, technical
explanation), label them clearly (e.g., `project-features: <link>`, `project-technical:
<link>`).
Optional (Bonus Points):
● Dockerize the implemented BE code(FastAPI or Django).
● Implement basic input validation (e.g., required fields, data types).
● Utilize environment-based configuration (e.g., `.env` file for database credentials or base
URL).
● Integrate Swagger/OpenAPI (if using FastAPI).
Evaluation Criteria:
● Functional correctness of API implementations.
● Adherence to API request/response structures.
● Code clarity and modularity.
● Postman demonstration with working responses.
● Completeness and clarity of documentation.
Submission Instructions:
Mail the following details to `contact@suvidhaen.com`:
● Source Code:
`[https://drive.com/yourname_api_assignment.zip](https://drive.com/yourname_api_assig
nment.zip)` (or GitHub link)
● Postman Collection:
`[https://drive.com/yourname_postman_collection.json](https://drive.com/yourname_post
man_collection.json)`
● README:
`[https://drive.com/yourname_readme.txt](https://drive.com/yourname_readme.txt)`
● Screen Recording: `<link to your screen recording>`