Skip to content

Repository files navigation

Academic Tutorship Bot

Table of contents

Did you know that GitHub supports table of contents by default 🤔

About

This is the Telegram Bot for Academic Tutorship of Innopolis University.

Technologies

Development

Getting started

  1. Install Python 3.13+, UV, Docker
  2. Install project dependencies with UV.
    uv sync
  3. Copy the settings.example.yaml to settings.yaml, edit as you need
    cp settings.example.yaml settings.yaml
  4. Start development server:
    uv run -m src.bot

    Follow provided instructions if needed

Tip

You can view settings.yaml 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.

Deployment

We use Docker with Docker Compose plugin to run the service on servers.

  1. Copy the file with settings: cp settings.example.yaml settings.yaml
  2. Change settings in the settings.yaml file according to your needs (check settings.schema.yaml for more info)
  3. Install Docker with Docker Compose
  4. Build a Docker image: docker compose build --pull
  5. Run the container: docker compose up --detach
  6. Check the logs: docker compose logs -f

How to update dependencies

Project dependencies

  1. Run uv lock --upgrade to update all dependencies
  2. Run uv pip list --outdated to check for outdated dependencies
  3. Run uv add <package>@latest to add a new dependency if needed

Pre-commit hooks

  1. Run uv run prek auto-update

Also, Dependabot will help you to keep your dependencies up-to-date, see dependabot.yml.

About

Organize academic tutorship lectures and gather attendance

Resources

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages