Amity is a room allocation command line application with key essential features written in Python. You can add people, add rooms, print allocations and unallocated data and also reallocate employees. What's more, Amity also allows you to backup to a specified text file or sqlite database of your choosing.
Here's a commands list highlighting all of its current features:
- create_room <room_type> <room_name> ...
- add_person <first_name> <second_name> [-a <wants_accommodation>]
- reallocate_person <employee_id> <new_room_name>
- print_allocations [-o <file_name>]
- print_unallocated [-o <file_name>]
- print_room <room_name>
- load_people <file_name>
- save_state [--db <database_name>]
- load_state [--db <database_name>]
- help
Features that require arguments of one type or another are indicated in angle brackets while optional arguments are enclosed in square brackets.
The app has a number of dependencies as detailed in the requirements.txt
. To run it, you'll need to install Python 3.6 from Python's website and setup a virtual environment as illustrated here. Dependencies that are built into Python have not been included.
Clone the repository from GitHub:
$ git clone https://github.com/LarryWachira/cp1-office-space-allocation.git
Change Directory into the project folder
$ cd cp1-office-space-allocation
Install the dependencies from requirements.txt
$ pip install -r requirements.txt
The last and final is simply to run python app.py
on your command line to fire up the app.
To run tests, just run the following command on the terminal:
$ nosetests --with-coverage -v --cover-package=models