All checks were successful
CI / lint-and-test (push) Successful in 17s
- Created a new `CHANGELOG.md` file to document all notable changes to the project, adhering to the Keep a Changelog format. - Updated `CONTRIBUTING.md` to include instructions for building and previewing documentation using MkDocs. - Added `mkdocs.yml` configuration for documentation generation, including navigation structure and theme settings. - Enhanced various documentation files, including API reference, architecture overview, configuration reference, and runbook, to provide comprehensive guidance for users and developers. - Included new sections in the README for changelog and documentation links, improving accessibility to project information.
1.5 KiB
1.5 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2025-02-20
Added
- Telegram bot with python-telegram-bot v22 (polling, Application API).
- Commands:
/start,/help,/set_phone,/import_duty_schedule,/pin_duty. - Miniapp (calendar and duty list) served at
/appwith Russian and English (i18n). - FastAPI HTTP API:
GET /api/duties,GET /api/calendar-events,GET /api/calendar/ical/{token}.ics. - Telegram initData validation for Miniapp; optional phone-based access (
ALLOWED_PHONES/ADMIN_PHONES). - SQLite (default) / configurable DB; SQLAlchemy models, repository, Alembic migrations.
- Duty-schedule import: two-step flow (handover time + JSON file); parser for meta.start_date and schedule[].duty.
- Group duty pin: pin current duty message in group with time/timezone from
DUTY_DISPLAY_TZ. - External calendar ICS URL support; personal ICS calendar by secret token.
- Configuration via environment variables; full reference in docs/configuration.md.
- Docker support (dev and prod compose); entrypoint runs migrations then app.
Security
- Input validation and initData hash verification for Miniapp access.
- Optional CORS and init_data_max_age; use env for secrets.