Skip to content

viral32111/degree-progression-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Degree Progression Dashboard

This is a web application dashboard for tracking progression (module progress, assessment grades, upcoming deadlines, etc.) throughout a University degree that I made back in 2022.

While this is primarily developed using PHP 8.1, it is not a server-side rendered website (excluding the registration script mentioned below). The server-side functionality acts as a secure RESTful API for accessing persistent data stored within a relational MySQL database, such as AES encrypted login credentials, course information, results, etc.

The client-side user interface is made using Bootstrap and incorporates Google Charts to visualise the data and provide interactivity via tooltips. I tried to keep it as responsive as possible to account for mobile/smartphone accessibility, but I will admit some of the charts are a bit skewed depending on the size and orientation of the mobile screen.

The dashboard is protected by an account system that utilises modern security practices such as TOTP-based two-factor authentication. Credit to Denis Borzenko for their Base32 PHP script that I used for the TOTP secret generation.

See the registration PHP script for creating new user accounts. This script is disabled by default, so the lines at the top will need to be temporarily commented/removed to use it.

See the SQL file for the required database and table structure. It must be imported before-hand, as the scripts do not create it automatically.

Screenshot

Deployment History

Sources

License

Copyright (C) 2022-2023 viral32111.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses.