Files
volleyball_miniapp/README.md
2026-07-01 17:58:05 +03:00

105 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```