Skip to content

ErDmKo/home-catalog

Repository files navigation

Home Catalog

A Django application for managing home inventory with categorization and tracking features.

Features

  • Catalog grouping and item management
  • User ownership of catalogs
  • RESTful API
  • Google OAuth authentication
  • Docker deployment support
  • Ansible automation

Development Setup

  1. Install uv:
pip install uv
  1. Install dependencies:
uv sync --all-extras
  1. Set up the database:
uv run manage.py migrate
  1. Create a superuser:
uv run manage.py createsuperuser

Management Commands

Development Server

uv run manage.py compile && uv run manage.py runserver

Format Code

uv run manage.py format

Deploy

uv run manage.py deploy

Testing

The project includes comprehensive tests for models, views, and functionality.

Using Django's test runner:

uv run manage.py test

Using pytest:

uv run pytest

With coverage report:

# Run tests with coverage report
uv run manage.py test_coverage

# Run tests with coverage report and generate HTML report
uv run manage.py test_coverage --html

Loading test data:

uv run manage.py loaddata catalog/fixtures/test_data.json

Docker Operations

Building Docker image:

uv run manage.py build

Running locally with Docker:

uv run manage.py docker

Project Structure

  • catalog/ - Main application directory
    • models.py - Database models
    • tests.py - Test suite
    • admin.py - Admin interface configuration
    • management/commands/ - Custom management commands
  • home_catalog/ - Project settings and configuration
  • fixtures/ - Test data
  • Dockerfile - Docker configuration
  • ansible/ - Deployment automation

Contributing

  1. Create a feature branch
  2. Make your changes
  3. Run tests to ensure everything works
  4. Submit a pull request

About

Home catalog app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published