X:/University

X:/University is a web-app that allows the user to track almost every aspect of their life while attending a university. It features a "Finances" page where the user can modify their balance, whether it be their bank balance in USD or GBP, or they can adjust their balance in cryptocurrency, featuring Ethereum, Bitcoin Cash, and Electroneum. They can then add and track each transaction they make throughout the day. Adding a transaction deducts or adds to/from the user's balance, so they never have to manually adjust their balance after the initial setup. Their transactions are stored in JSON format and can easily be backed up, and they can be filtered and searched through on the website itself. The web-app also has a "Shopping" page that allows the user to add items to their shopping list along with a link to said item if it happens to be on an online store. This way, a university student could easily have a grocery list that they can update and view everyday instead of having to write it down on paper, use a different app, or try to memorize it. X:/University makes sure everything related to your time in higher education is contained within one place rather than on separate apps and websites. The shopping list is also stored in JSON format allowing the user to easily move it to another server or back it up. Another feature is the "Documents" page, containing three separate areas: "Notes", "Reminders", and "Files". "Notes" allows the user to upload word documents, PDFs and other files where they may have written their revision notes or lecture notes. This allows them to keep track of these notes and access them whenever and wherever they want. The "Files" page is similar in functionality, except it lets the user upload files other than notes. It's basically a way for them to have their own personal cloud storage for files related to their studies. "Reminders" lets the user set up reminders for things they have to do, and then mark them as complete once they've finished the task. The "Settings" page allows the user to change the website's appearance between the default light theme, and the classy dark theme. There are also buttons that let the user reset each individual page and clear out their content. Perhaps they've tracked their transactions for a whole year and wish to delete them as they are no longer relevant, but do not want to delete them individually and aren't comfortable with modifying the configuration files. The "Account" page lets the user change their username and password, along with having a button they can press to logout. There aren't too many validation checks on the server-side PHP code as this is meant to be used privately rather than publicly. In terms of security, .htaccess files are used to prevent anyone from directly accessing the aforementioned configuration files as well as files and notes the user uploads, so they are to make sure their Apache server allows .htaccess files to override their configuration. The account password is stored using BCrypt. The "remember me" feature generates a token that is saved as a cookie on the user's browser. The cookie expires in a month, but the token also has a server-side timestamp that expires in a month to make sure the feature cannot be abused to stay logged in forever as that would be dangerous. The token also changes every time the user logs out. I'm sure I could make this website much more secure, but again, this is meant to be used by one person privately rather than be hosted as a service open to countless people publicly. Login details for the download: Username: admin Password: admin