Code Homework Checker is an application designed to facilitate the checking and grading of code homework for both teachers and students. Built with a robust C# backend and a user-friendly WPF client, it streamlines the process of homework submission, checking, and grading.
- Create courses and add homework assignments to each course.
- Set roles for various checks (e.g., file existence, code output).
- Specify penalty points for each role to be removed from the total grade.
- View courses and related homework assignments.
- Submit code homework for grading.
- C# for RESTful API endpoints.
- Entity Framework for data persistence.
- SQL Server as the database.
- Repository pattern for data abstraction.
- C# WPF for the desktop client.
- MVVM (Model-View-ViewModel) architectural pattern.
Clone the repository:
https://github.com/safaama1/CodeChecker.git
- Navigate to the server folder.
- Restore NuGet packages.
- Update the database connection string in
appsettings.json. - Run the application.
- Navigate to the client folder.
- Restore NuGet packages.
- Run the WPF application.
All server-side logic is handled through RESTful API endpoints.
-
Teacher's View
- Login as a teacher.
- Create a course and add homework assignments.
- Define roles and penalty points for each assignment.
-
Student's View
- Login as a student.
- Choose a course and view assignments.
- Submit homework for automated grading.