Distributed Ticket Reservation System
Note: The project requires python3 (for the backend) and NodeJS (for the client)
- clone repository and create a new virtual environment using
python -m venv venv
- install dependencies using 'pip install -r requirements.txt'
- In
client/
directory, install dependencies using 'npm install` - To run the client, in
client/
directory open a new terminal and runnpm start
. This opens the browser and start the client onlocalhost:3000
- To run the reverseproxy, in the
reverseproxy
directory, runpython main.py
- Open three new terminals in
server
directory and do as follows:- In first terminal,
python main.py
- In second terminal,
python main.py 8002
- In third terminal,
python main.py 8003
- In first terminal,
Make sure that the port numbers are correct. Otherwise, a bind()
error will be thrown.
Each of the server replicas will create a sqlite database with its port number as its name.
If a .db file with its port no. already exists, then it won't be recreated.
To reset the database simply delete the .db files from the server
directory.