Skip to content

Latest commit

 

History

History
222 lines (151 loc) · 7.08 KB

README.md

File metadata and controls

222 lines (151 loc) · 7.08 KB

Reservation app


Application built with Laravel for administrating dental offices

Application logo forthebadge forthebadge forthebadge

Table of Contents

Authors

  • Jakub Stępkowski stepkos : Team Leader, Full-Stack Developer
  • Jan Napieralski R3VANEK : Back-End Developer, Database Engineer
  • Mateusz Sztankiewicz DΣUS : Front-End Developer
  • Kamil Paczkowski Avngarde : Front-End Developer

Installation

Before you start

Steps

  • Clone repository to your computer
  • Go to xampp phpmyadmin site and hit command create database reservationapp
  • Go to project directory and run in terminal composer install
  • In project locate env.example clone it, fill with your environment specs and save as .env
  • Run command php artisan key:generate
  • Execute php artisan migrate:fresh --seed
  • For local server to run app enter php artisan serve

Description

This app was built as an term project for school. It is service handling 3 types of users and their actions :

  • patient : Views all doctors in database, views his visits and can book new one
  • doctor : Can view his visits and has special subsite where he can view all details about patient with whom he has right now visit
  • reception : Views all visits in database, can modify users, cancel visits and change dates of incoming visits

Functionalities

Login Panel

Login Panel

Features

  • Working login functionalities
  • Fully secure CSRF token authentication
  • Protection from SQL Injection attacks
  • Redirecting user to appriopriate panel based on user role


Registration Panel

Registration Panel

Features

  • Working registration functionalities
  • Fully secure CSRF token authentication
  • Protection from SQL Injection attacks
  • Checking input formats
  • Redirecting user to panel
  • New user's role is automatically set to patient reception stuff can later change that
  • Hashing and salting user password in database


Patient main panel

Patient main panel

Features

  • User can see here his/hers upcoming visits in dental office in form of compact cards with necessary data
  • On the right there is compact calendar. On it there are marked upcoming visits
  • Log out button


Patient all doctor panel

Patient all doctor panel

Features

  • User can see information about all doctor users in database in form of compact cards
  • Log out button


Patient create visit panel

Patient create visit panel

Features

  • User can book new visit with doctor
  • Select input with real doctor data
  • Asynchronous viewing selected doctor work hours
  • Create short note about your health status in textarea input
  • Log out button
  • Validation of given visit date
    • Checking if entered date is in future
    • Checking if entered hour matches doctor work hours in correct day week
    • Checking if selected doctor doesn't have visit during entered date and hour


Doctor main panel

Doctor main panel

Features

  • User can see here his/hers upcoming visits in dental office in form of compact cards with necessary data
  • On the right there is compact calendar. On it there are marked upcoming visits
  • Log out button


Doctor archive panel

Doctor archive panel

Features

  • User can see here his/hers archive visits with patient users in form of compact cards
  • On the right there is compact calendar. On it there are marked upcoming visits
  • Log out button


Doctor visit panel

Doctor visit panel

Features

  • This panel is accesible only if doctor have right now visit with patient
    • If not it displays information about next upcoming visit
  • doctor user can see all information about current visit and history of previous patient visits in dental office
  • doctor user can add his note to visit
  • Asynchronous timer displaying time left till visit end
  • Log out button


Reception main panel

Reception main panel

Features

  • reception users see here upcoming visits
  • Upcoming visits can be deleted or reception users can change date of visit
  • Log out button


Reception accounts panel

Reception accounts panel

Features

  • reception users see here all users in database
  • reception users can change user roles


Reception archive panel

Reception archive panel

Features

  • reception users see here all visits (previous and upcoming) in database
  • Asynchronous filtering visits by :
    • date
    • doctor name
    • patient name
    • visit type

Database

Thanks to Laravel features, database schema is stored in multiple php files in database/migrations folder

  • Be sure your XAMPP is running mysql port and you have empty database called reservationapp
  • You can easily import it via command php artisan migrate:fresh
  • To fill database with random data please use php artisan db:seed

Below you can see graphical schema for tables

Database schema

Documentation

Full documentation for this project in polish you can find here (Front-End is little out of date)

License

All rights reserved