This is a RESTful API for managing student records, featuring secure user authentication and CRUD operations. It allows for the registration, login, and management of student data through a secure and efficient interface.
- FastAPI: A modern, fast (high-performance), web framework for building APIs with Python.
- SQLAlchemy: A SQL toolkit and Object-Relational Mapping (ORM) system for Python.
- SQLite: A self-contained, serverless, zero-configuration SQL database engine.
- JWT (JSON Web Tokens): Used for secure user authentication.
- OAuth2: An authorization framework that allows third-party services to exchange user data without exposing passwords.
- User registration and authentication
- CRUD operations for managing student records
- Secure password hashing and token-based authentication
-
Clone the repository:
git clone https://github.com/Incognitol07/student-management-api
-
Navigate to the project directory:
cd student-management-api
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Usage Instructions Run the application:
uvicorn app.main:app --reload
-
Access the API: Open your browser or a tool like Postman and navigate to http://127.0.0.1:8000/.
-
API Endpoints User Registration: POST /auth/register
User Login: POST /auth/login
Create Student: POST /students/create-student
Get Student: GET /students/get-student
Get All Students: GET /students/get-students
Update Student: PUT /students/update-student/{student_id}
Delete Student: DELETE /students/delete-student/{student_id} \
This project is licensed under the MIT License.