0% found this document useful (0 votes)
6 views2 pages

Assignment Python -- KPA

Uploaded by

Mahesh waghmare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views2 pages

Assignment Python -- KPA

Uploaded by

Mahesh waghmare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

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>`

You might also like