Quiz API
A robust Quiz API for teachers and students with secure Multiple-Choice Question management
Project Screenshots
Project Overview
This is a full-featured Quiz API built with ASP.NET and secured using JWT. Both teachers and students can register and log in. Teachers login using their Staff ID and password, while students login using their Matriculation number and password. The API provides endpoints for managing courses, departments, and multiple-choice questions. Teachers can create, edit, and delete courses, departments, and questions. Students can answer questions, and once an answer is submitted it cannot be changed to prevent cheating. The API also allows teachers to view and manage student scores securely. Swagger is used for API testing, SendGrid handles email notifications, Hangfire manages background tasks, and NLog logs all activities.
Key Features
- Built with ASP.NET, JWT, SQL Server, Swagger, SendGrid, Hangfire, and NLog
- Teachers and students can register and log in
- Teachers login using their Staff ID and password
- Students login using their Matriculation Number and password
- Get the current logged-in user
- Get all courses, get by ID or course code
- Get departments and related questions
- Teachers can create, edit, and delete courses
- Teachers can create, update, and delete departments
- Teachers can post, update, and delete multiple-choice questions
- Teachers can view and delete student scores by ID or matriculation number
- Students can answer questions (answers are final and cannot change)
- Multiple-choice questions with options A, B, C, and D