Docs: начальная структура проекта

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-25 14:59:46 +00:00
commit 1669c12182
56 changed files with 2085 additions and 0 deletions

81
README.md Normal file
View File

@@ -0,0 +1,81 @@
# ERP WaterSurf
Веб-приложение класса ERP для компании WaterSurf: справочники, документы (заказы клиентов и поставщикам, поступления/перемещения/расход денежных средств), авторизация пользователей.
## Требования
- Docker и Docker Compose
- Доступ к порту 8010 на localhost (для reverse proxy)
## Установка и настройка
```bash
cd /opt/watersurf-erp
cp .env.example .env
# Отредактировать .env: пароли, SECRET_KEY, ALLOWED_HOSTS
docker compose up -d db
docker compose run --rm app python manage.py migrate --noinput
docker compose run --rm app python manage.py createsuperuser # первый пользователь
docker compose up -d app
```
## Конфигурация
Переменные в `.env` (см. `.env.example`):
- `POSTGRES_*` — учётные данные PostgreSQL для контейнера db
- `DB_*` — подключение приложения к БД
- `SECRET_KEY` — секрет Django (не менее 50 символов)
- `ALLOWED_HOSTS` — через запятую (например `erp.gen7x.ru,localhost`)
- `DEBUG` — true/false
## Использование
- Веб-интерфейс: после настройки Nginx — https://erp.gen7x.ru/
- Вход по логину/паролю (пользователи Django).
- Меню: Справочники (валюты, виды заказов, клиенты, организации, поставщики, сотрудники, счета, товары), Документы (заказы клиентов, заказы поставщику, поступления, перемещения, расходы).
- Поле «Автор» в документах подставляется из профиля пользователя (связь User → Сотрудник в разделе «Пользователи» / админка).
## Структура проекта
- `app/config/` — настройки Django
- `app/references/` — справочники (модели, админка, CRUD)
- `app/documents/` — документы (модели, формы, представления, автогенерация номера)
- `app/users/` — профиль пользователя (связь с сотрудником)
- `app/templates/` — шаблоны
- `manage.py` — точка входа для команд Django
## Docker Compose
- Сервис `db`: PostgreSQL 16, volume `watersurf_erp_data`
- Сервис `app`: Django + Gunicorn, порт 8010:8000
Запуск: `./manage.sh start` или `docker compose up -d`
Остановка: `./manage.sh stop`
Логи: `./manage.sh logs app`
## Volumes
- `watersurf_erp_data` — данные PostgreSQL. Добавлен в `/opt/gen7x/backup/include-volumes.txt` для бэкапа.
## Логирование
- Логи приложения: stdout контейнера; при наличии каталога `app/logs` — также в `app/logs/app.log`.
- Просмотр: `docker compose logs -f app`
## Резервное копирование и восстановление
- Volume БД включён в список бэкапов платформы Gen7x. Восстановление — по инструкции платформы (restore.sh и т.д.).
## Troubleshooting
- Ошибка подключения к БД: проверить, что контейнер `db` запущен и переменные `DB_*` в `.env` совпадают с `POSTGRES_*`.
- 502 от Nginx: проверить, что приложение слушает на 8010 (`docker compose ps`, `docker compose logs app`).
- После добавления полей в модели: `docker compose run --rm app python manage.py makemigrations && docker compose run --rm app python manage.py migrate`.
## Команды управления
- Запуск: `./manage.sh start`
- Остановка: `./manage.sh stop`
- Перезапуск: `./manage.sh restart`
- Логи: `./manage.sh logs [service]`