Created for CS302 IT Solution Development, PotatoRooms is a microservice-based web application that enables event organizers to easily find and book venues for their events.
This project consists of 7 different microservices: Rooms, Customers, Bookings, Room-Booking (composite), User Interface (composite), Notifications & Stripe (composite). This way, the application is highly decoupled and it is also easier to insert new functionalities in future.
- Ensure that your MAMP/WAMP is on.
- Create a user cs302 with password cs302 using phpmyadmin.
- Create a connection with host localhost and port 3306, user cs302, password cs302.
- Load the merged.merged.sql file into mySQL
Make sure you are in the projects (root) directory
docker compose up -d --build
When you are done running the services:
docker compose down
Atomic Services: Rooms, Customers, Bookings
Composite Services: Room-Bookings, Stripe, User Interface
cd src
pip install waitress
waitress-serve --port <service port number> <service flask file name>:app
So for example if running for rooms ->
waitress-serve --port 30000 app:app
To access our UI -> http://localhost:8081
To access rooms -> http://localhost:30000/rooms
To access customers -> http://localhost:31000/customer
To access bookings -> http://localhost:32000/bookings
To access stripe -> http://localhost:4242
To check if notification is sent:
- Go to project_notifications_1 container.
- Look at the logs.
- If success, it will print successful and the email.