API Info
Introduction
Welcome to the API documentation of the project. This section provides detailed information about the endpoints and functionalities available in our API. The API documentation is auto generated using drf-spectacular, ensuring accurate and up-to-date information about the API's capabilities.
Access API Documentation
To access the API documentation, please follow the link below:
The API documentation is only available when the backend is running.
Authentication and Authorization
The API is protected using JWT authentication. Some of endpoints are open to the public, while others require authentication.
The API endpoints that require authentication are protected using the IsAuthenticated, IsAdminUser - from Django REST framework - and IsStudent, IsEmployer, and IsAdmin - are custom permissions custom permissions defined in permissions.py.
🔒 Authentication - The process of verifying the identity of a user.
🔒 Authorization - The process of verifying that the user has the necessary permissions to access the requested resource.
The endpoints with 🔒 require authentication. The endpoints with 🔓 are open to the public.
For more information about JWT authentication, please refer to the Djoser documentation.
For more information about JWT authentication in Django REST framework, please refer to the Django REST framework documentation.
API Endpoints
The API endpoints are divided into the following sections:
- 👤 Accounts - Endpoints related to user management and authentication.
- 📝 Placement Applications - Endpoints related to placement applications form- creating, updating, deleting, retrieving, and reviewing placement applications.
- 🧑💻 Placements - Endpoints related to approved placements - retrieving, updating, deleting, and listing approved placements.
Using the API Documentation
The API documentation is auto generated using drf-spectacular, ensuring accurate and up-to-date information about the API's capabilities. You can navigate through the different endpoints, view their details, and even test them directly from the documentation itself. The documentation provides comprehensive information to help you understand the purpose and usage of each endpoint.