Flask-приложение для обмена навыками: пользователи создают профили, указывают навыки (могу научить / хочу научиться), находят людей через поиск, оставляют отзывы, добавляют слоты доступности и договариваются о встречах. Дополнительно: Random Coffee (встречи сообщества) и простой блог с внешними статьями.
- Создать
.env:
cp .env.example .env- Поднять сервисы:
docker compose up --build- Открыть:
- приложение: http://localhost:5000 (если порт занят:
WEB_PORT=5001 docker compose up --build) - SMTP web UI (Mailpit): http://localhost:8025
База данных PostgreSQL поднимается в контейнере db и автоматически применяет create_tables.sql.
- Виртуальное окружение и зависимости:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Переменные окружения:
cp .env.example .envОтредактируйте .env (минимум: SECRET_KEY, DATABASE_URL или DB_*). Для Postgres из docker compose по умолчанию localhost:5433. Для быстрой локальной работы без Postgres установите DB_DIALECT=sqlite (файл SQLITE_PATH, по умолчанию database.db).
- Инфраструктура (если Postgres/SMTP из Docker):
docker compose up -d db mailpit- Запуск приложения:
python app.pyЕсли порт 5000 занят: PORT=5001 python app.py.
Папка screenshots содержит актуальные скриншоты основных страниц:
Main.png,Main page.png— главная.login.png,registration.png— аутентификация.users.png,activities.png— поиск и активность сообщества.Store.png— магазин/донаты.B2B.png— раздел для компаний.about project.png,comments.png— блоки «О нас» и отзывы.
Главные экраны:
Остальные скриншоты см. прямо в директории screenshots.
SECRET_KEY: секрет для сессий/CSRF (в продакшене обязателен).DATABASE_URL: строка подключения Postgrespostgresql://user:pass@host:port/db.- Альтернатива вместо
DATABASE_URL:DB_NAME,DB_USER,DB_PASSWORD,DB_HOST,DB_PORT, опциональноDB_SSLMODE. SMTP_SERVER,SMTP_PORT,SMTP_USE_TLS,SMTP_USERNAME,SMTP_PASSWORD,SMTP_FROM: отправка писем для сброса пароля.UPLOAD_FOLDER: папка для аватарок (по умолчаниюstatic/avatars).HOST,PORT,FLASK_DEBUG: параметры dev-сервера при запуске черезpython app.py.
app_v4.py: основной код приложения (Flaskapp).app.py: точка входа (python app.py).create_tables.sql: схема БД (idempotent, можно запускать повторно).templates/,static/: фронтенд (Jinja + статика).
app-v2.pyиapp-v3.pyоставлены как исторические прототипы и не используются текущим запуском. Примечание: Для выхода из виртуального окружения выполнитеdeactivate.


