Core Features
- JWT Authentication (Signup & Login)
- Role-Based Access Control (Admin, Faculty)
- Course Management System
- Student & Faculty Management
- Enrollment System
- Full Test Coverage using Pytest
Frontend Dashboard
- Signup & Login Interface
- Create Courses, Students, Faculty
- Enrollment Management
- API interaction without Postman
System Operations
| Operation | Description |
|---|---|
| Create Course | Add new course |
| Create Student | Register student |
| Create Faculty | Add faculty |
| Enroll Student | Assign student to course |
| Authentication | JWT-based login/signup |
Architecture
Clean modular architecture using services and dependency injection.
routes → services → models
auth_service() → login/signup
course_service() → course logic
student_service() → student logic
faculty_service() → faculty logic
enrollment_service()→ linking system
Security
- Password hashing with bcrypt
- JWT token authentication
- Protected API routes
- Backend-controlled role permissions
Example API Response
POST /auth/login
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "bearer"
}
Tech Stack
- Backend: FastAPI
- Database: MySQL
- ORM: SQLAlchemy
- Validation: Pydantic
- Testing: Pytest
Project Setup
git clone your-repo
cd project
pip install -r requirements.txt
uvicorn app.main:app --reload
Why This Project?
Designed to simulate real-world university systems with secure authentication, modular backend design, and scalable architecture.