Skip to content

one-zero-eight/workshops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Workshops API | InNoHassle ecosystem

https://api.innohassle.ru/workshops/v0

GitHub Actions pre-commit

Lines of Code Bugs Vulnerabilities

Table of contents

Did you know that GitHub supports table of contents by default ๐Ÿค”

About

This is the API for workshops service in InNoHassle ecosystem. It provides backend functionality for managing workshops, user check-ins, and capacity management.

Features

  • โœ… Check-in/check-out workshops for bootcamp participants
  • ๐Ÿ‘จโ€๐Ÿ’ผ Manage workshops for admins
  • ๐Ÿ“Š Capacity management and tracking

Technologies

Development

Set up for development

  1. Install uv and Docker
  2. Install dependencies:
    uv sync
  3. Start development server (read logs in the terminal):
    uv run -m src.api --reload
  4. Open in the browser: http://localhost:8005

    The api will be reloaded when you edit the code

Important

For endpoints requiring authorization click "Authorize" button in Swagger UI

Tip

Edit settings.yaml according to your needs, you can view schema in config_schema.py and in settings.schema.yaml

Set up PyCharm integrations

  1. Run configurations (docs). Right-click the __main__.py file in the project explorer, select Run '__main__' from the context menu.
  2. Ruff (plugin). It will lint and format your code. Make sure to enable Use ruff format option in plugin settings.
  3. Pydantic (plugin). It will fix PyCharm issues with type-hinting.
  4. Conventional commits (plugin). It will help you to write conventional commits.

FAQ

How to run tests?

  1. Create test-db database in your local PostgreSQL:
    docker exec -it workshops-db-1 psql -U postgres -c 'CREATE DATABASE "test-db";'
  2. Run tests with SETTINGS_PATH=settings.test.yaml uv run pytest

How to setup database?

  1. Run docker compose up -d db to start the PostgreSQL container (create .env file with options if needed)
  2. Run uv run alembic upgrade head to apply all pending migrations
  3. Run uv run alembic revision --autogenerate -m "description" to create new migration
  4. Run uv run alembic current to check current migration status
  5. Revert all migrations: uv run alembic downgrade base
  6. Just set to base to revert to the initial state: uv run alembic stamp base

Contributing

We are open to contributions of any kind. You can help us with code, bugs, design, documentation, media, new ideas, etc. If you are interested in contributing, please read our contribution guide.

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 5