Technology
ASP.NET MVC, C#, AngularJS, Sql Server, Linq-to-Entities, Bootstrap
This consists of an administrative front end for Residential Life staff to configure Rooms and Residents and an Angular based front end for the students to create groups, search rooms, and create their wishlists and rank their room preferences. A console application provides functionality of generating the lottery numbers, running the lottery itself, exporting room assignments and other tasks.
Runs in Batch, Asynchronously
One feature that sets this lottery application apart is that the lottery itself runs in an asynchronous batch mode, which means that students aren't required to stay tethered to their computers during the lottery process. Rather, they make all their groups and selections and then the lottery runs as a 'batch'. For example on Day #1 at 10 AM, all lottery numbers less than 400 will run. On Day #2, all lottery numbers less than 800 will run. Any lottery numbers that are still active will get processed the next day. As students are assigned roles they are not considered for the next 'run'. This enables the students to partipate regardless of their timezone and availability on a particular date.
This application was fun to work on and technically came out very well. Below is a screenshot of the student landing page.