HomyHub is a property management system that allows users to list, browse, and review places. It features a command-line interface (CLI) for easy management and a structured data storage system.
- β Object-Oriented Programming (OOP) with Python
- β Command-line interface for managing properties and users
- β JSON-based storage system
- β User authentication and session management
- β CRUD operations for places, amenities, users, and reviews
bash Copy Edit HomyHub/
- βββ models/ # Data models for users, places, reviews, etc.
- β βββ base_model.py # Base class for all models
- β βββ user.py # User model
- β βββ state.py # State model
- β βββ city.py # City model
- β βββ amenity.py # Amenity model
- β βββ place.py # Place model
- β βββ review.py # Review model
- βββ console.py # Command-line interface for managing the app
- βββ tests/ # Unit tests
- βββ README.md # Project documentation
- βββ requirements.txt # Python dependencies
- βββ setup.py # Setup script
- 1οΈβ£ Clone the repository bash Copy Edit git clone https://github.com/ngush67/HomyHub.git cd HomyHub
- 2οΈβ£ Create a virtual environment (Recommended) bash Copy Edit python3 -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
- 3οΈβ£ Install dependencies bash Copy Edit pip install -r requirements.txt
- 4οΈβ£ Run the console bash Copy Edit ./console.py or
bash Copy Edit python3 console.py
The console allows you to interact with the models using commands:
Start the Console bash Copy Edit ./console.py Available Commands Command Description help Show available commands create Create a new object show Show object details update Update object attributes destroy Delete an object all Show all objects of a model quit or EOF Exit the console
To run unit tests, use:
bash Copy Edit python3 -m unittest discover tests
Fork the repo Create a new branch (git checkout -b feature-branch) Make your changes Commit your changes (git commit -m "Added new feature") Push to the branch (git push origin feature-branch) Open a Pull Request