GWOC 2026
Backend: Flask
Frontend: Vanilla HTML, CSS, JavaScript
Database: PostgreSQL
Server Deployment: Render
Database Hosting: Neon
- Error Handlers:
For example, 404 eorror redirects to our custom erorr page.
- Route Protection:
Pages that require session (like Appointment Booking page) redirect to login page if user isnt logged in.
- RBAC and Dynamic navigation bar:
Customers are redirected to "Appointment Booking page" while admin and employees are redirected to 'Admin Dashboard'.
Only Admin has the access to Add an Employee and can see the option in navigation bar.

- Appointment Booking Validation:
Appointment is only booked if the selected slot on the selected date is not already booked.
A date and time prior to the present cannot be selected while booking.

SETUP:
- Place a .env in root. Populate it values provided in .env.example:
SECRET_KEY =
ADMIN_EMAIL =
ADMIN_PASSWORD =
ADMIN_NAME =
ADMIN_PHONE =
DATABASE_URL =
Admin credentials are used to auto-create an admin record at the time of User table creation. Database is populated with user and Appointment tables when the server runs for the first time.
2. Use a postgresSQL service to get a connection URL and place the value in DATABASE_URL key of .env.
3. Create a virtual environment, activate it anf install the dependencies using the following commands
python -m venv env
env/scripts/activate
pip install -r requirements.txt
- Run the server
python app.py