Web application that accepts uploaded assignment files from students and provides a receipt. Allows staff to set due dates, rules about what files are allowed or required, grant extensions and view and download submissions.
Requirements
The Computer Science department at the University of Auckland had an existing web based system which allowed students to submit their assignments (primarily program source code) online. The system had cut-off dates for submissions and provided students with a receipt to confirm their submission. However the underlying technologies were being retired and the existing system couldn't be modified to accommodate, so they needed a replacement system.
Solution
The replacement system was developed in ASP.NET MVC with a little bit of JavaScript augmentation for usability. The backend consists of a SQL Server database and web services are used to connect with the University's Learning Management System. In terms of technologies, the system uses Entity Framework for database access and MEF for dependency injection. The entire system is unit tested using NUnit (with 95%+ coverage), and to facilitate testing, the controllers interact with a service layer and behind that is repository.
To provide a good user experience for students, JavaScript was used to provide a more flexible file upload interface. And to support staff, JavaScript was used to help them in configuring the rules for which files are allowed or disallowed in each submission. For more information about each feature, see the screenshots below.
Screenshots
Home page
Submit Page
Submission Receipt
Documentation
For more information about the system features, you can read the Instructions for Staff document that I created to explain the system features to staff:
Summary
At the time I left the University, the system had received over 12,000 submissions from students so far, and had drawn praise from both students and staff for its ease of use.