A property management rent tracking application. Manages rental units, tenants, and rent payments across multiple buildings. Designed for small landlords who need a simple way to track which tenants have paid and which are overdue.
- Language: Python 3
- Framework: Flask
- Database: SQLite (via Flask-SQLAlchemy)
- Testing: pytest
Clone the repository, then:
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
source venv/bin/activate # macOS/Linux
# venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run the application
flask --app app runThe database is created and seeded with sample data automatically on first run.
The app will be available at http://localhost:5000.
# Run all tests
pytest -v
# Run tests with code coverage
pytest --cov=. --cov-report=term-missingCommon tasks are available via make:
| Command | Description |
|---|---|
make run |
Start the application |
make test |
Run all tests |
make coverage |
Run tests with code coverage |
make install |
Create venv and install dependencies |
make clean |
Remove build artifacts and cache files |
make seed |
Delete DB and restart to re-seed |
rentflow/
├── routes/ # Flask route blueprints
├── templates/ # Jinja2 HTML templates
├── tests/ # pytest test suite
├── docs/ # Project documentation
│ ├── SPEC.md # Product specification
│ └── TEST_PLAN.md # Test plan
├── app.py # Application entry point
├── models.py # SQLAlchemy models
├── seed.py # Sample data seeder
└── requirements.txt # Python dependencies
This project is licensed under the MIT License. See LICENSE for details.