This project was completed as part of the 5th semester Software Engineering Project class. As of April 14th, 2020, this project is complete and is ready for deployment.
This app's main purpose is to provide an independent system for an administrator to distribute and assign product keys to current CSAIT students. Eligible students will be able to register and log-on to their account to retrieve individual keys for products. When either the keys or products are running low, the admin may upload additional keys in batches. Additionally, the admin may also update the list of eligible students using the application.
While this app replicates much of the functionality of the Azure Dev Tools for Teaching system, Microsoft has a history of making significant changes to systems that could seriously compromise a school administrator's workflow. In the worst case scenario, this app serves as a backup plan to ensure that students retain access to their product keys. This app could also serve as a way to distribute keys for other products, or second keys for certain products.
- CRUD functionality for ProductNames, ProductKeys and EligibleStudents.
- Confirmation emails send through SendGrid (see below for instructions).
- .txt parsing for bulk uploads.
The intent was to send e-mails directly from Mohawk's servers; unfortunately, this wasn't possible in the given timeframe. Instead, we used SendGrid to deliver account confirmation and password reset emails. The free version allows for 100 emails per day; not really adequate if everyone signs up at once, but workable for development purposes.
To run this app, you'll need to set up an environment variable at the machine level using an API key generated by SendGrid. The easiest way to do this on Windows 10 is to open Powershell, and copy-paste the following in with your API key:
[Environment]::SetEnvironmentVariable("SENDGRID_API_KEY", "api key here", "Machine")
Porsche Le - Github
Aiden (Wang-Yang) Li - Github
Evan Mulrooney - Portfolio - Github
Special thanks:
- To our client, Brian Minaji, for his support and giving us the opportunity to build this system,
- to our professor, Mark Yendt, for running the course and providing helpful feedback throughout,
- and to Dawn, Reese and Julian at the MEDIC lab for getting us set up on their server space for deployment.