The Dojo Room Allocator is a simple utility that demonstrates how room allocation can be carried out at Andela Kenya's main facility, the Dojo. It uses data structures (mainly dictionaries and lists) to store and manipulate information that is provided unto it. Data storage for the mean time is non-persistent. A sqlite3 database will be used to persist data in the near future.
When a new Fellow joins Andela, they are assigned an office space and an optional living space if they choose to opt in. When a new Staff joins, they are assigned an office space only. This simple application emulates a working model of how office and living space rooms are allocated.
To get started, it is assumed you have python 3.6 and git installed. clone this repo by running git clone https://github.com/isheebo/dojo.git.
- install a virtual environment and configure it for the project.
$ pip install virtualenv
$ mkdir venv
$ virtualenv -p <path to your python executable> venv
$ cd venv/scripts/activate
- inside your virtual environment, install dependencies
$ pip install -r requirements.txt- run the application
$ python main.py
create_room <room_type> <room_name>... creates a room or rooms of type room_type
add_person <first_name> <second_name> <FELLOW|STAFF> [<wants_accommodation>] adds a person of either type fellow or staff to the dojo. wants_accommodation is an optional parameter.
print_room <room_name> prints the details of a room specified by room_name
load_people <filename> adds people to the dojo from filename if filename is not empty
print_allocations [<-o=filename>] prints all rooms in the dojo and all related information
print_unallocated [<-o=filename>] prints unallocated people in the Dojo.
reallocate_person <first_name> <second_name> <new_room_name> reallocates a person to new_room_name
help displays the usage message
clear Clears the application screen
quit Exits the application