# Voley — учет посещаемости волейбольной тренировки Веб‑приложение для отметки посещения игроков по воскресеньям. ## Возможности - Публичная главная страница: выбор воскресенья, отметка посещения, график за месяц/год. - Админ‑интерфейс под паролем: добавление игроков, управление активностью. - Хранение данных в SQLite. ## Запуск 1) Создайте виртуальное окружение и установите зависимости: ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` 2) Задайте переменные окружения (можно через `.env` в вашей оболочке): - `SECRET_KEY` — секрет для подписи cookies (любая длинная строка). - `ADMIN_PASSWORD` — пароль админки. Пример: ```bash export SECRET_KEY="change-me" export ADMIN_PASSWORD="change-me" ``` 3) Запустите сервер: ```bash uvicorn main:app --reload --port 8000 ``` Откройте: - Главная: `http://localhost:8000/` - Админка: `http://localhost:8000/admin` ## Данные SQLite база хранится в `data/voley.sqlite3` (создаётся автоматически при первом запуске). ## Деплой на сервер Файлы для продакшн-деплоя находятся в `deploy/`. ### Быстрая установка (Ubuntu/Debian) ```bash # На сервере: sudo apt update && sudo apt install -y python3-venv nginx # Скопируйте проект на сервер, затем: cd /path/to/voley/deploy chmod +x install.sh ./install.sh ``` ### Ручная установка 1. Скопируйте проект в `/opt/voley` 2. Создайте `.env` из `.env.example` и заполните переменные 3. Создайте venv и установите зависимости: ```bash python3 -m venv .venv .venv/bin/pip install -r requirements.txt ``` 4. Скопируйте `deploy/voley.service` в `/etc/systemd/system/` 5. Запустите: `sudo systemctl enable --now voley` 6. Настройте nginx (см. `deploy/nginx.conf`) 7. SSL: `sudo certbot --nginx -d your-domain.com` ### Структура на сервере ``` /opt/voley/ ├── .env # Переменные окружения ├── .venv/ # Виртуальное окружение ├── data/ # SQLite база │ └── voley.sqlite3 ├── main.py ├── db.py ├── auth.py ├── templates/ └── static/ ``` ### Полезные команды ```bash # Статус sudo systemctl status voley # Логи sudo journalctl -u voley -f # Перезапуск sudo systemctl restart voley ```