Apoorva & Ananya collaborated on the Customer module, working across both the frontend and backend to build user-facing features like browsing restaurants, making reservations, integrating google maps API, SMTP integrating,and submitting reviews.
Junie was responsible for the Restaurant Manager module, implementing both frontend and backend logic for managing restaurant profiles, updating availability, and viewing reservations.
Rinku handled the Admin module end-to-end, developing backend analytics, approval workflows, and the admin dashboard UI with rich visual insights and data visualization.
-
Communication The team maintained open and consistent communication by holding daily stand-up meetings, using collaborative tools and engaging in pair programming sessions. This helped ensure that everyone was aligned on progress, blockers, and changes in requirements. Regular code reviews and design discussions promoted shared understanding and reduced miscommunication.
-
Respect The team created a culture of mutual respect, valuing each member's contributions regardless of role or experience level. Constructive feedback was given in a supportive manner, and decisions were made collaboratively. Respect for each other’s time and work led to better morale and productivity.
BookTable is a full-stack web application for discovering, reserving, reviewing, and managing restaurants. It supports user reservations and admin approvals, with a clean dashboard to monitor analytics.
- Sign up / Log in
- Browse and search restaurants
- Make, view, modify, and cancel reservations
- Submit and read reviews
- Managing restaurant profiles
- Updating restaurant availability
- Viewing reservations
- Admin login interface
/admin/dashboard
with analytics:- Reservation trends (30-day history)
- Top-performing restaurants
- Top booked restaurants
- Daily breakdown
/admin/restaurants
management:- View details of each restaurant in a modal
- Approve / delete new submissions
- React (with Redux & React Router)
- CSS modules for styling
- Flask (Python)
- SQLAlchemy ORM
- Flask-Login
- PostgreSQL as the database
- MVC Pattern: Flask acts as controller, SQLAlchemy as model, React as view
- Factory Pattern:
create_app()
is used for environment flexibility - Decorator Pattern: Used extensively via Flask route decorators
- Observer & State Patterns: Used via Redux and React hooks
- Command Pattern: Used for CLI seeding (
flask seed all
)
- Deployment Diagram: View Here
- Component Diagram: View Here
cd backend
pip install -r requirements.txt
flask db upgrade
flask seed all
flask run
cd front-end
npm install
npm start