https://github.com/stepkos/reservation-app
Web Aplication to manage reservations dedicated for clinics
https://github.com/stepkos/reservation-app
laravel php team teamwork webapp
Last synced: about 1 month ago
JSON representation
Web Aplication to manage reservations dedicated for clinics
- Host: GitHub
- URL: https://github.com/stepkos/reservation-app
- Owner: stepkos
- Created: 2021-09-27T15:46:02.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-19T17:16:36.000Z (about 4 years ago)
- Last Synced: 2025-08-12T22:36:51.984Z (10 months ago)
- Topics: laravel, php, team, teamwork, webapp
- Language: PHP
- Homepage:
- Size: 21.1 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Reservation app
**
Application built with Laravel for administrating dental offices
**

[](https://forthebadge.com)
[](https://forthebadge.com)
[](https://forthebadge.com)
## Table of Contents
* **[Authors](#Authors)**
* **[Installation](#Installation)**
* **[Description](#Description)**
* **[Functionalities](#Functionalities)**
* **[Database](#Database)**
* **[Documentation](#Documentation)**
* **[Licence](#Licence)**
## Authors
- Jakub Stępkowski [stepkos](https://github.com/stepkos) : Team Leader, Full-Stack Developer
- Jan Napieralski [R3VANEK](https://github.com/R3VANEK) : Back-End Developer, Database Engineer
- Mateusz Sztankiewicz [DΣUS](https://github.com/GodsCrisis) : Front-End Developer
- Kamil Paczkowski [Avngarde](https://github.com/Avngarde) : Front-End Developer
## Installation
### Before you start
- Install [Composer](https://getcomposer.org/)
- Install [Mysql](https://www.apachefriends.org/pl/index.html)
### 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

**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

**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

**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

**Features**
- User can see information about all ```doctor``` users in database in form of compact cards
- Log out button
### 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

**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

**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

**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

**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

**Features**
- ```reception``` users see here all users in database
- ```reception``` users can change user roles
### 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

## Documentation
Full documentation for this project in polish you can find [here](https://github.com/stepkos/ReservationApp/blob/main/doc/ReservationApp.pdf) (Front-End is little out of date)
## License
All rights reserved