Complete API Documentation available here
BookThisShow requires Python3 to run
- Python 3.6 or greater
Install the dependencies and devDependencies
$ sudo apt install python3-pip git
$ pip3 install virtualenv
$ cd ~; mkdir bookthisshow; cd bookthisshow
$ virtualenv -p python3 bts_env
$ source bts_env/bin/activate
$ git clone https://github.com/ansm/bts.git
$ cd bts
$ pip3 install -r requirement.txt
Migrate database & Start server (port 8000)
$ python manage.py migrate
$ python manage.py cities_light
$ python manage.py createsuperuser
$ python manage.py test
$ python manage.py runserver 0.0.0.0:8000
- Django
- As a development framework
- django-rest-auth
- For user management (Signup/ Login / Forgot Password etc.)
- django-rest-framework
- For developing REST APIs
- SQLite (A light weight DB)
- To store data generated on BTS
- Gunicorn (A Python WSGI HTTP Server for UNIX)
- Nginx (High performance LB & Web Serer/Reverse proxy server)
graph TD
A((User)) -- Booking request --> B[Check if request seat availalble ]
B -- If seats available --> C(Book seats)
B -- If seats not available --> D(Cancel booking request)
D -- Respond with unavalability of seat --> A
C -- Send booking confirmation with ID --> A