Gradify – A Teacher-Student Assignment Grading System 📚✨
Gradify is a web-based platform that simplifies assignment management and grading for teachers and students. Teachers can create assignments, track submissions, and grade efficiently, while students can submit their work via Google Drive or PDFs and view their grades seamlessly. 🚀
Gradify follows a Three-Tier Architecture with a RESTful API:
- Frontend (Angular 19) – Handles UI/UX and communicates with the backend via REST APIs.
- Backend (ASP.NET Core) – Implements business logic, authentication, and API endpoints.
- Database (SQL Server) – Stores assignments, submissions, and user data securely.
This architecture ensures scalability, security, and flexibility, allowing future integrations with mobile apps or third-party services. 🔐🚀
- Frontend: Angular 19, TailwindCSS v4
- Backend: C# ASP.NET Core
- Database: SQL Server
- Authentication: JWT-based authentication
- View assignments with due dates.
- Submit assignment links (Google Drive/PDF).
- View grades once evaluated.
- Create new assignments with instructions.
- View all student submissions.
- Grade submitted assignments.
- Manage enrolled students.
cd frontend
npm install
ng serveApplication will run on http://localhost:4200
cd backend
# Restore dependencies
dotnet restore
# Run the project
dotnet runBackend runs on http://localhost:5000
| Login | Registration |
|---|---|
| Unsubmitted | Submitted | Graded |
|---|---|---|
| View Assignment | Grade Assignment |
|---|---|
POST /api/auth/register/{userType}- Register a new user (Student/Teacher).POST /api/auth/login/{userType}- Login as a student or teacher.
GET /api/users/students- Get a list of all students (Teacher access only).
GET /api/assignments- Fetch assignments created by the teacher.POST /api/assignments/create- Create a new assignment.PATCH /api/assignments/{assignmentId}/edit- Edit an existing assignment.DELETE /api/assignments/{assignmentId}- Delete an assignment.PATCH /api/assignments/{assignmentId}/add-students- Add students to an assignment.PATCH /api/assignments/{assignmentId}/remove-student/{studentId}- Remove a student from an assignment.GET /api/assignments/{assignmentId}- Fetch individual