1.Create empty asp.net core project 2.Install dependencies from the nuget package manager 3.Install ssms and create a sql database 4.Change the database connection string name to your database name 5. Run
C# with ASP.NET Core with EntityFramework for Database management and IdentityFramework for User management. Separation of logic using the MVC software architectural pattern.
User can log in/ register, select their role(professor or student) and choose the year of study as a student or the department as a professor.
Students can solve homeworks, quizzes and project(with file uploads).
Professors can create different types of homeworks(basic homework assignments, quizzes and projects), they can grade homeworks, change the formula for calculating the grade for the discipline they're teaching.
Admins can create students or professors and delete existing users too.
Time based quiz with questions and the student gets the grade after submitting the questions.
Students type the solution in a text box and send it to the professor to be graded.
For gamification there is a leaderboard that shows students with the most completed homeworks in descending order.
The handling of exceptions is done using mostly custom exceptions.
Students can upload one or more files and the professor can download them as a ZIP archive.
Professors can download a CSV file with all of the students grades for each discipline and the final grade.