Skip to content

Latest commit

 

History

History
196 lines (158 loc) · 7.83 KB

README.md

File metadata and controls

196 lines (158 loc) · 7.83 KB

DocWebox

DocWebox is an online health services platform. Via of the platform visitors will be able to search for doctors of various types specialties, choose the appropriate one, and make an appointment. The doctors they can through the platform update their data, add useful information for their services, and to be informed about their appointments. The platform will be managed by the administrators who will have access to processing (and removal) of all data.

This is a project that was implemented in the course of the University of Macedonia, "Special topics of web programming".

Team:

  • Charakopoulos Minas - Theodoros
  • Lougaris Dionisis
  • Machairas Panagiotis
  • Stefou George-John

Video presentation of the app on YouTube: presentation video

App's basic pages

Index page

This is the home page. The user can access it without being logged in. He can normally search for a doctor, see the results, select a doctor to view their profile, but when he clicks to make an appointment, he will be asked to login, and after that he will directly redirected to the appointment page.


FAQs


Contact us


Our team


Main login


Patient's login


Main register


Doctor's register


Patient's dashboard

This is the main page of the patient, from where he can see previous and current appointments in the calendar, a list of doctors who have made appointments before, he can search for doctors based on their specialty, their location or both at the same time, and search for a doctor based on his lastname.


Patient's search for doctors results

Here are all the results of his search with filters. If he simply presses the button without filters, then all the doctors will displayed.


Doctor's public profile

Here the patient can see information about the selected doctor and along the way if he wishes to make an appointment.


Appointment page


Patient's upcoming appointments


Patient's private profile

This is a page that only the logged patient has access to, and he has access to his previous appointments, and also to his data that he can see and update, such as email, password, username, profile photo, etc.


Doctor's dashboard

This is the main page of the doctor, from where he can see previous and current appointments in the calendar and a list of the patients who have made appointment with him before.


Doctor's private profile

This is a page that only the logged doctor has access to, and he has access to his previous and current appointments, and also to his data that he can see and update, such as public information for his public profile, sensitive data such as email, password, username and upload a profile photo, etc.


Admin's dashboard

This is the admin dashboard. He can search for doctors, patients and appointments. For each of them he can either update or delete them.


Responsiveness

All the pages are responsive for all devices.

How to create Admin?

The admin can only be created by phpmyadmin. You only need to provide a username and password. The password must be md5 encrypted during the creation.

DB structure

DATABASE docwebox;

--
-- Structure for table `admin`
--

TABLE `admin` (
  `id` int(11) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(255) NOT NULL,
  `created` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Structure for table `appointment`
--

TABLE `appointment` (
  `id` int(11) NOT NULL,
  `doctor_id` int(11) NOT NULL,
  `patient_id` int(11) NOT NULL,
  `date` varchar(50) NOT NULL,
  `time` varchar(20) NOT NULL,
  `description` varchar(255) NOT NULL,
  `created` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Structure for table `doctor`
--

TABLE `doctor` (
  `id` int(11) NOT NULL,
  `firstname` varchar(40) NOT NULL,
  `lastname` varchar(40) NOT NULL,
  `username` varchar(20) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `phone` varchar(50) NOT NULL,
  `specialization` varchar(255) NOT NULL,
  `vat` varchar(40) NOT NULL,
  `num_patients` int(11) UNSIGNED NOT NULL,
  `num_publications` int(11) UNSIGNED NOT NULL,
  `work_experience_years` int(11) UNSIGNED NOT NULL,
  `bio` varchar(1000) NOT NULL,
  `location` varchar(255) NOT NULL,
  `image` varchar(255) NOT NULL,
  `created` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Structure for table `patient`
--

TABLE `patient` (
  `id` int(11) NOT NULL,
  `firstname` varchar(40) NOT NULL,
  `lastname` varchar(40) NOT NULL,
  `username` varchar(20) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `phone` varchar(50) NOT NULL,
  `location` varchar(255) NOT NULL,
  `image` varchar(255) NOT NULL,
  `created` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Local Installation

- Download the zip from github, extract it and store or move the app root folder in <PATH>\xampp\htdocs
  Note: It is important that the root folder of the app is located directly inside the htdocs, and not embedded in another folder.
- Open XAMPP and start Apache and MySQL modules
- Open browser in http://localhost/<FOLDER_NAME_THAT_YOU_STORE_IN_HTDOCS_BEFORE>/ 
  (At the same time, the 'docwebox' database with the necessary tables will also be created if it does not already exist.)

Use testing data

Data is available for testing.

  • In case the database and tables already exist, then execution by phpmyadmin of the {ROOT_FOLDER}/src/db/only_inserts.sql file, which only has inserts.
  • In case the database 'docwebox' does not already exist, then you can run the file {ROOT_FOLDER}/src/db/full_data_db.sql, which will create the database and tables, and then insert the testing data.