Skip to content
This repository was archived by the owner on Oct 18, 2025. It is now read-only.
/ cityhive Public archive

Async Python microservice for urban beehive management — aiohttp, SQLAlchemy + PostGIS, asyncpg, Docker Compose, clean architecture, CI/CD

License

Notifications You must be signed in to change notification settings

sergeyklay/cityhive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CityHive

codecov CI CodeRabbit Pull Request Reviews

An experimental aiohttp microservice for urban beehive management and technology exploration.

CityHive is a synthetic yet realistic sandbox project designed to explore modern Python web development patterns, architectural approaches, and DevOps practices. While grounded in the domain of urban beehive management, this project serves as a comprehensive technology playground rather than a production application.

Quick Start

Prerequisites

  • Python 3.12+
  • Docker and Docker Compose

Get Started in 3 Steps

  1. Clone and setup dependencies

    git clone https://github.com/sergeyklay/cityhive.git
    cd cityhive
    uv sync --all-groups
  2. Start the application

    docker compose up --build
  3. Verify everything works

    make test

The application will be available at http://localhost:8080.

Project Focus

This project serves as an experimental playground for:

  • Clean Architecture: Domain-driven design with strict layer separation
  • Async Python: Modern aiohttp web framework with SQLAlchemy async ORM
  • Developer Experience: AI-assisted development, comprehensive tooling
  • Production Practices: Docker, CI/CD, monitoring, comprehensive testing

Essential Commands

make test-unit          # Run unit tests with coverage
make test-integration   # Running integration tests (needs DB to be up)
make test               # Run all tests
make format             # Format code with ruff
make lint               # Run linter checks
make migrate            # Apply database migrations

Documentation

📖 Comprehensive guides available in the docs/ folder:

Key Technologies

  • Python 3.12 with aiohttp web framework
  • PostgreSQL + PostGIS with SQLAlchemy async ORM and asyncpg driver
  • Docker containerization and uv package management
  • Pytest testing with ruff linting and formatting

Contributing

See CONTRIBUTING.md for development guidelines and contribution process.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Async Python microservice for urban beehive management — aiohttp, SQLAlchemy + PostGIS, asyncpg, Docker Compose, clean architecture, CI/CD

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages