James Stewart
Winter 2017

This is for two students working together.

This project will develop a web portal through which Computing students will access School of Computing resources that require authentication or privacy. Each Computing student will have an account on the portal, authenticated through their Queen's NetID. The account will store a bit of personal information, such as student name, and will store a set of privileges that are used to control access to resources. An administator interface will be provided to manage users and resources.

Initially, the portal will be used for TA applications, but must be designed such that other "resources" can easily be added.

A TA application "resource" will be be developed with which the student fills out a TA application. A "TA application administrator" role can be given to any account. The TA application adminstrator has an interface to manage the TA applications with functionality to reset, download, and edit applications. The administrator interface also includes an algorithm to optimally assign TAs to courses.

This project will require two people, with one person likely responsible for the general portal and the other person for the TA application resource, although workload should be distributed equally. The project will use Python as the web programming language, MongoDB as the database, and Nginx as the web server.