https://github.com/georgreen/geoogreen-mamboleo-dojo-project
Office Space Allocation System
https://github.com/georgreen/geoogreen-mamboleo-dojo-project
Last synced: 4 months ago
JSON representation
Office Space Allocation System
- Host: GitHub
- URL: https://github.com/georgreen/geoogreen-mamboleo-dojo-project
- Owner: georgreen
- License: mit
- Created: 2017-04-10T04:41:09.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-15T08:53:24.000Z (about 8 years ago)
- Last Synced: 2025-01-08T07:49:26.505Z (5 months ago)
- Language: Python
- Size: 3.88 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.codacy.com/app/georgreen/Geoogreen-Mamboleo-Dojo-Project?utm_source=github.com&utm_medium=referral&utm_content=georgreen/Geoogreen-Mamboleo-Dojo-Project&utm_campaign=badger)
[](https://travis-ci.org/georgreen/Geoogreen-Mamboleo-Dojo-Project) [](https://coveralls.io/github/georgreen/Geoogreen-Mamboleo-Dojo-Project?branch=master) [](https://www.quantifiedcode.com/app/project/d4e4bbeca60e46fca5ced46934c26d4c)# Office And LivingSpace Allocation System
A Command line application that managers a dojo facillity.
It allocates rooms to new employees, [Staff or Fellow] randomly.
A room in the dojo can either be an `office` or a `livingspace`. Offices in the dojo can only accommodate 6 people whereas a livingspaces can only accommodate 4.An employee can either be a `staff` or a `fellow`. Staff can only be assigned offices, whereas fellows can be assigned either or both, depending on there choice regarding a livingspace.
### Available Commands
* ```Adds_room name_room [office | living space]```
* ```Adds_Person firstname secondname [fellow| staff]```
* ```Print_Allocations [filename] ```
* ```print_Unallocated [filename]```
* ```reallocate_person id new_room```
* ```load_people file.txt```
* ```save_state database_name ```
* ```load_state database_name```
* ```remove_person id ```
* ```remove_room room_name ```
* ```person_information [] []```
## Getting Started
* Create a virtual enviroment
* Find the instructions for installing and using a virtual environment and virtualenv wrapper [here](http://docs.python-guide.org/en/latest/dev/virtualenvs/).
* Git Clone this repo to your local machine.
```
git clone https://github.com/georgreenmanu/Geoogreen-Mamboleo-Dojo-Project.git
```### Prerequisites
```
See requirements.txt
```
You have to install python3 to run this app### Installing
After cloning the repo , cd to the folder, activate your virtual enviroment then:```
pip install -r requirements.txt
```
Run the above command to install the app and required dependencies.### Running the App
From your terminal you can now run the application by using the following command:
```
python3 app.py
```A welcome screen will show as follows:

You can now interact with application by entering the commands displayed above.
*NOTE:* Pressing the TAB key twice displays all the available commands### Session Examples:
+ To create a room which is an office run the command `create room office red` or use `livingspace` to create a livingspace. You could also give a list of room names to create by separating the names with spaces as shown:
+ To add a person, use the command `add person Paul Joe staff` and for a fellow who wants a living space use `add person Jojn Doe fellow y`.

*NOTE:* the livingspace option only applies to fellows and not staff.
+ You can reallocate a person using the command `reallocate_person `.
+ You can load people from a file by using the `load_people file.txt` command.
+ You can also print out the allocated people and the unallocated using `print_[allocated|unallocated]` command, specifying the filename saves the allocations on the specified file.

+ The command `print_room ` print's room's occupants.
+ You can remove_person i.e fellow or staff `remove_person ` remove user from system
+ You can display everyone or a specific user `person_information [] []`
+ You can delete rooms from the system `remove_room `
+ You could clear the screen if you wish by using the `clear` command.
+ To restart the app use the command `restart`
+ To quit the application run the `quit` command.
## Running the tests
```
nosetestsnosetests --with-coverage
```
To run tests run the command above : Require's nosetests## Built With
* [Docopt](http://docopt.org/) - command line argument parser
* [cmd](https://wiki.python.org/moin/CmdModule) - Tool for making command line tools.## Version
version 4.0## Authors
* **Georgreen Ngunga**
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details
## Acknowledgments
* [Stack Overflow](https://stackoverflow.com/)
* [The Hitchhiker’s Guide to Python!](http://python-guide-pt-br.readthedocs.io/en/latest/)## Future
* Fork me!