This project is part of my internship challenge task assigned by MentorLed. It involves building an asynchronous video interview platform using Django and PostgreSQL. The project focuses on implementing an API for creating interview sessions and managing interview data efficiently.
Core Focus: Implementing a REST API for creating an interview session with fields (title, description, questions). Store interview data in PostgreSQL.
To enable recruiters to create and manage interview sessions, I implemented an API that allows the creation of interview sessions with essential details such as title, description, and questions. This ensures that interview sessions are properly structured and stored in the database for further retrieval.
-
Setting up Django and PostgreSQL – Installed Django, Django REST framework (DRF), and PostgreSQL dependencies to set up the development environment.
-
Activated virtual machine
-
Created Interview Model –I Defined the model with title, description, and questions fields to represent an interview session in the database.
-
Implemented Serializer – I used Django REST framework’s serializer to convert model instances into JSON format for API responses, ensuring seamless data exchange between the backend and frontend.
-
Developed Views & Endpoints – I created API views using Django REST framework to handle interview creation and store data in PostgreSQL.
-
Configured URLs – Added an interview creation endpoint to Django’s URL patterns, making it accessible via API calls.
-
Tested API – Used the Django admin panel to send POST requests and verify successful interview creation and data storage.
Core Focus: Implement API endpoints to fetch all interviews and get interview details by ID, including pagination.
To make the interview process more efficient, I implemented API endpoints that allow recruiters and evaluators to fetch all interviews, retrieve details of a specific interview by ID, and handle large datasets efficiently through pagination.
-
Created Fetch Endpoints – Implemented API views to retrieve all interview records and fetch details of a specific interview by ID.
-
Implemented Pagination – Added pagination support to manage large interview datasets efficiently, preventing overload and ensuring smooth API responses.
-
Updated Serializer – Ensured that the retrieved interview data is properly formatted and structured for easy consumption by frontend applications.
-
Configured URLs – Added interview retrieval endpoints to Django’s URL patterns to make them accessible.
-
Tested API – Used Curl command on git bash to confirm successful retrieval of interviews by 1d, and tested for pagination
-
Django & Django REST Framework – Backend development and API implementation.
-
PostgreSQL – Database for storing interview data.
-
Curl command – API testing to ensure functionality.
This project is about implementing a Video Upload API built with Django, using Cloudinary for video storage. This API allows users to upload videos and retrieve them as needed.
- Upload videos to Cloudinary.
- Store video metadata (URL, duration) in the database.
- Fetch and manage uploaded videos via API endpoints.
- Secure authentication for API access.
- Tested API – Used Postman to check the functionality of the endpoints
Backend: Django, Django REST Framework Storage: Cloudinary Database: PostgreSQL Authentication: Token-based Installation & Setup Prerequisites Python 3.8+ Django installed (pip install django djangorestframework) Cloudinary account & API credentials
https://drive.google.com/file/d/1bIk6PaMZ0f9vx1Zhl1YGMbbfHNV6vNVS/view?usp=sharing
The Evaluation API is responsible for managing candidate evaluations within the Vector Interview App. It allows evaluators to review, score, and provide feedback on candidate responses.
- Submit evaluations for candidate responses.
- Retrieve candidate responses for review.
- Store and manage evaluator scores and feedback.
- Ensure secure authentication for evaluators.
- Automated scoring and aggregation of results.
- Tested API – Used Curl command to verify endpoint functionality.
- Backend: Python(Django)
- Database: PostgreSQL
- Authentication: OAuth 2.0
- Security: Data encryption, GDPR compliance
| Method | Endpoint | Description | Authentication |
|---|---|---|---|
| POST | /api/evaluations |
Submit a new evaluation | Required |
| GET | /api/evaluations/candidate/:id |
Get all evaluations for a candidate | Required |
- Uses authentication token for secure access.
- Evaluators must be authenticated before submitting or retrieving evaluations.
Used curl command to test API functionality, ensuring proper request handling, authentication, and data validation.
This project is licensed under the MIT License.