Course website redesign developed as a project for the CSCB20 (Introduction to Databases and Web Applications) course. Complete with user registration, authentication, and authorization for different pages depending on user type. Deployed to Heroku at: https://cscb20-araikatdim.herokuapp.com/
The website is temporarily down since Heroku removed their free tier hosting.
Users are greeted with the following page when first opening the website:
Users can log in as either an instructor or student. Account types are determined during sign up, and determine authorization for different pages. Utorids are used as primary keys in an SQLite Database, and passwords are hashed using Bcrypt before being stored. For accounts with example data, use instructor1 and student1 (passwords are the same as utorids).
Users can also register in the same way through the register screen. An error is displayed if a user attempts to register using an existing utorid
Once users are authenticated, a Flask session is created and users are authorized to view a number of pages based on account type. Shared pages between instructors and students include static course information and content.
Instructors are able to view feedback submitted specifically to them by the students in the course. Feedback is fetched through a GET request, and the SQLite DB is queried using server-side session info about the current user.
Instructors are also able to view and edit all student marks.
Likewise they can act on remark requests from students. Requests are automatically marked as closed once the grade has been updated, or the same grade is resubmitted.
Or submit new marks.
Students are able to fill out a feedback form for any of the instructors that exist in the DB.
They can also view their own marks and send remark requests. If remark requests are closed by an instructor, then any new remark request for the same course component would overwrite the old request.
And view the status of their requests.