Skip to content

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.

Notifications You must be signed in to change notification settings

ngush67/HomyHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HomyHub 🏑

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.

πŸ“Œ Features

  • βœ… 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

πŸ“‚ Project Structure

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

βš™οΈ Installation & Setup

  • 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

πŸ›  Usage

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

πŸ§ͺ Running Tests

To run unit tests, use:

bash Copy Edit python3 -m unittest discover tests

πŸš€ Contributing

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

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages