Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SharedHabits

SharedHabits — это веб-приложение для совместного отслеживания привычек. Пользователи могут создавать привычки, делиться ими с друзьями, приглашать участников и отслеживать прогресс выполнения.

image   image

Что внутри

  • Flask + SQLAlchemy на Python
  • PostgreSQL в Docker
  • JWT-аутентификация через Flask-JWT-Extended
  • Веб-интерфейс с Jinja2 шаблонами

Быстрый старт с Docker

Требования

  • Docker
  • Docker Compose

Запуск

  1. Перейдите в папку проекта:

    cd SharedHabbits
  2. Запустите сервисы:

    docker-compose up -d
  3. Откройте приложение:

    http://localhost:5000
    

Остановка

docker-compose down

Локальный запуск (опционально)

Если вы хотите запустить приложение без Docker:

  1. Создайте виртуальное окружение:

    python -m venv venv
  2. Активируйте его:

    • Windows:
      venv\Scripts\activate
    • Linux/macOS:
      source venv/bin/activate
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Настройте подключение к базе данных в app/config.py или через переменную окружения DATABASE_URL.

  5. Запустите приложение:

    python run.py

Приложение будет доступно по адресу http://localhost:5000.

Конфигурация

Основные параметры задаются через переменные окружения:

  • DATABASE_URL — URL подключения к PostgreSQL
  • JWT_SECRET_KEY — секретный ключ для JWT
  • FLASK_APPrun.py
  • FLASK_ENVdevelopment

По умолчанию приложение использует:

  • postgresql://postgres:postgres@localhost/SharedHabit
  • JWT_SECRET_KEY=super-secret

Docker-конфигурация

  • Dockerfile — сборка образа Python-приложения
  • docker-compose.yml — сервисы web и postgres
  • .dockerignore — файлы, исключаемые из сборки

В docker-compose.yml PostgreSQL создается с:

  • пользователь: postgres
  • пароль: postgres
  • база: SharedHabit

Структура проекта

SharedHabbits/
├── Dockerfile
├── docker-compose.yml
├── .dockerignore
├── README.md
├── requirements.txt
├── run.py
├── app/
│   ├── __init__.py
│   ├── auth.py
│   ├── config.py
│   ├── habits.py
│   ├── models.py
│   ├── utils.py
│   ├── web.py
│   └── templates/
│       ├── base.html
│       ├── index.html
│       ├── habits.html
│       ├── habit.html
│       ├── habit_edit.html
│       ├── profile.html
│       ├── profile_settings.html
│       ├── user_profile.html
│       └── invites.html

Основные маршруты

  • GET / — главная страница
  • POST /api/login — вход
  • POST /api/register — регистрация
  • POST /api/logout — выход
  • POST /api/refresh — refresh token
  • GET /api/habits — список привычек
  • POST /api/habits — создание привычки
  • GET /api/habits/<id> — детали привычки
  • PUT /api/habits/<id> — обновление привычки
  • DELETE /api/habits/<id> — удаление привычки
  • GET /api/habits/<id>/logs — логи привычки
  • POST /api/habits/<id>/logs — добавление лога
  • POST /api/habits/<id>/invite — отправка приглашения
  • GET /api/invites — список приглашений
  • POST /api/invites/<id>/accept — принятие приглашения

About

Веб приложение для отслеживания личных и общих привычек

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages