InnChoice is the automated room booking portal where Room Manager and Customer can signup , Room Manager can define the recurring timeslots , rooms available and number of days before advance booking, while a Customer can book from the available number of rooms and timeslots , can see or cancel his past or future bookings .
Python 3.6 And additional requirements are in requirements.txt and will be installed through the below steps
- Download and install python 3.6 and git
- Go to
https://github.com/parthgpta/fsf20_scrntask
and click onFork
- You will be redirected to your fork,
https://github.com/<yourname>/fsf20_scrntask
- Clone using
$ git clone https://github.com/<yourname>/fsf20_scrntask
-
Install virtualenv
- on Ubuntu:
$ sudo apt install python-virtualenv
- on Windows Powershell
$ pip install virtualenv
- on Ubuntu:
-
Create a virtual environment
- on Ubuntu:
$ virtualenv env -p python3.6
- on Windows:
$ virtualenv env
- on Ubuntu:
-
Activate the env:
- on Ubuntu:
$ source env/bin/activate
- on Windows:
$ ./env/scripts/activate
- on Ubuntu:
-
Install the requirements:
$ pip install -r requirements.txt
-
Change directory to innchoice
$ cd innchoice
-
Make migrations
$ python manage.py makemigrations
-
Migrate the changes to the database
$ python manage.py migrate
-
Run the server
$ python manage.py runserver
$ git remote add upstream https://github.com/parthgpta/fsf20_scrntask
$ git checkout -b <module-name>
$ git fetch upstream
$ git merge upstream/master
$ git push origin <module-name>
- Open the link given after the previous command or go to
https://github.com/parthgpta/fsf20_scrntask
and create pull request
Different components can be easily tested against unittesting
For testing all components together
$python manage.py test
Testing bookings app
$ python manage.py test bookings
$ python manage.py test bookings.tests.test_urls
$ python manage.py test bookings.tests.test_views
Testing accounts app
$ python manage.py test accounts
$ python manage.py test accounts.tests.test_urls
$ python manage.py test accounts.tests.test_views
- Signing Up - User can signup and set User Type according to them either if they are Cutomer or Room Manager
- Room Booking - Customer can Book Room from various available days and timeslots .
- Customer Profile - Customer can see his own past and future bookings and cancel any booking at any time .
- Manager Profile - Room Manager can see all bookings , Add a specific room availability and Sets the various settings such as Default number of rooms available , timeslots and number of days before for advance booking for reocccurig slots .
Innchoice API endpoints help to get some of the data from our Database in machine-readable JSON format. Users can get data of all Registered Users , all available Room Slots , Timeslots , and details of all Bookings .