This is a prototype of a portal website wherein hospital clients can view their checkup records and hospital staff can manage patient records. Among its features include:
- A responsive design layout that adapts to different screen sizes ranging from mobile to desktop screens. This was done using CSS breakpoints via media queries as well as relative units (i.e. rems, percentages).
- Error handling features such as the ones implemented in the login and add new account systems where users are notified when they make input mistakes (e.g. an error message is shown when a wrong password is entered).
- Security features including:
- Different user access levels (e.g. Basic user accounts cannot access website elements only available for admin accounts).
- Security against injection attacks using Prepared Statements.
- Prevents access to any part of the website when not logged in through the use of PHP session variables.
- Search and filter function that simplifies the task of looking for a particular client profile/checkup record.
There are 2 access levels on the website depending on account type: Admin and User. In the finished version...
- View their checkup records.
- View their account details.
- Change their login password.
- Add new user accounts.
- Edit user profiles.
- Add/edit user checkup records.
- View their account details.
- Change their login password.
The website was developed using phpMyAdmin and XAMPP client for running the Apache and MySQL modules. The instructions below are based on using the XAMPP client to run the website. Here are the steps on how to setup the website on your device:
- Install XAMPP.
- Run the XAMPP control panel.
- Inside the control panel, start up the Apache and MySQL modules.
- Place the "Patient-Monitoring-Website-master" folder inside 'xampp/htdocs'.
- Open your trusty internet browser.
- In the address bar, type in 'localhost/phpmyadmin'.
- Create a new database called "patient_monitoring".
- Import the database tables from 'tools/patient_monitoring.sql'.
- If you have set another password or username in phpMyAdmin, add it inside 'includes/dbconnect.inc.php'.
- DONE.
- Rewrite codebase based on the principles of OOP design.
- Implement checkup records and client profile editing for Admins.
- Improve security by adding client-side form validation.