ASP.NET MVC website that allows students to log in and download software. It also includes an administration interface for staff, and software interfaces with two other systems.
Requirements
The department had an existing ASP.NET MVC website to provide students with the ability to download software images through the Microsoft Dreamspark program. Microsoft changed the systems they used to generate software keys for the students, and so the website had to be modified. Previously, the administrator would download an XML file of keys and load them into the database where they would be allocated to students. Under the new system, students would have to log into a separate Microsoft-run website to access the keys. We could either manually enrol our students in this new site to allow them access (and they would have a separate username and password), or provide a web service where the Microsoft site could call back to authenticate the students using their existing University username and password.
We opted for the latter as the better user experience for both staff and students, but unfortunately, source code was no longer available for the site, so I had to re-implement it rather than simply modifying it.
Solution
I was able to reuse the front-end HTML & CSS (complying with the University standard look and feel, as well as the database. I just had to re-implement the controllers, business logic and data access layers and then interface the system with the Microsoft Dreamspark site.
One of the requirements of Microsoft's Dreamspark is that software is only made available to registered students. The system uses a set of web services exposed by the University of Auckland Content Management System Cecil to authenticate students and check their enrolment before allowing them access to the software.
For software that requires a key to be issued by Dreamspark, the site performs the authentication step for the student and then provides them a link directly into the Dreamspark site, so they are already authenticated and don't have to log in twice.
In the old system, adding new software and making it available to different groups of people (undergraduate, postgraduate or staff) involved editing the database directly. I implemented an admin user interface where new software could be added, and the permissions altered through a web-based interface.
I also included support for different kinds of keys - individual keys that have to be generated by Dreamspark, static keys that are the same for all students, and software that doesn't require any key.
Screenshots
Home Page
Download Screen
Edit Software Screen
Summary
The site was still being used by the ISOM department at the time I left the University. The majority of emails to the admin are students wanting additional keys to install the software, or who have had trouble installing the software itself. It is extremely rare for anyone to have trouble with the site itself.
Feedback from the administrator is that it is very easy to do the required maintenance to add new software packages and remove old ones. Students appreciate the simple interface and the ability to retrieve keys issued in the past.