This is a simple Python Flask Web App with SQLite3 database, SQLAlchemy & WTforms.
Patient must authenticate to book appointment. Doctor appointments can be viewed without authentication.
- Create Virtual Environment (Optional)
$ python3 -m venv .venv
$ source .venv/bin/activate
$ alias python3="$(echo "$PWD/.venv/bin/python3" | sed -e 's/ /\\ /')"
$ alias pip3="$(echo "$PWD/.venv/bin/pip3" | sed -e 's/ /\\ /')"
- Install flask and packages
$ pip3 install -r requirements.txt
- Define the project
$ export FLASK_ENV=development
$ export FLASK_APP=app
- Populate the database with sample data by invoking script in the project directory
python populate.py
- Run the flask application from the project directory, running on localhost
$ flask run
- Open the app in browser: localhost
- Open doctor_appts
- Select Doctor Name in Filter
- Click [Filter] Button
- Open appt_schedule
- Enter Doctor Name, Date, Time
- Click [Schedule] Button
- Open appt_cancel
- Select appointment to cancel
- Click [Cancel] Button
- This is a minimal time limited proof of concept not ready for production use
- Test Cases
- Install Script
- Dockerize
- Improve Validation
- Prevent concurrent appointments
- Improve GUI
- Add authentication for Doctor, Admin
- ...