Skip to content

DayframeTeam/Dayframe.server

Repository files navigation

Dayframe Server

Бэкенд-сервер для приложения Dayframe - менеджера задач с геймификацией.

Установка и настройка

  1. Клонируйте репозиторий:
git clone https://github.com/DayframeTeam/Dayframe.server.git
cd Dayframe.server
  1. Установите зависимости:
npm install
  1. Создайте и настройте файл окружения:
npm run setup

После запуска этой команды будет создан файл .env из шаблона. Обязательно отредактируйте этот файл, указав правильные настройки для подключения к базе данных.

  1. Подготовьте базу данных:
npm run db_setup

Эта команда создаст необходимые таблицы в базе данных и заполнит их тестовыми данными.

Доступные команды

Команда Описание
npm start Запуск сервера
npm run setup Создание .env файла из шаблона .env.example
npm run create_env Создание .env файла из шаблона (то же, что и setup)
npm run init_db Инициализация базы данных - создание таблиц
npm run seed_db Наполнение базы тестовыми данными
npm run db_setup Полная настройка базы данных (init_db + seed_db)
npm run knip Проверка неиспользуемого кода

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

src/
├── api/             # Определение API эндпоинтов
├── config/          # Конфигурация приложения
├── entities/        # Бизнес-логика, разбитая по сущностям
│   ├── task/        # Работа с задачами
│   ├── user/        # Работа с пользователями
│   └── ...
├── middleware/      # Middleware-функции для обработки запросов
├── scripts/         # Скрипты для инициализации базы и генерации данных
└── utils/           # Вспомогательные функции и утилиты

Сущности

Основные сущности приложения:

  • Tasks - задачи с возможностью добавления подзадач
  • Users - пользователи с системой опыта
  • Templates - шаблоны задач для быстрого создания

API Эндпоинты

Задачи (Tasks)

  • GET /tasks - получить все задачи пользователя
  • POST /tasks - создать новую задачу
  • GET /tasks/:id - получить задачу по ID
  • PATCH /tasks/:id - обновить задачу
  • DELETE /tasks/:id - удалить задачу
  • PATCH /tasks/is_done/:id - обновить статус задачи
  • PATCH /tasks/subtasks/:id - обновить статус подзадачи

Пользователи (Users)

  • GET /users/:id - получить информацию о пользователе
  • PATCH /users/:id - обновить информацию пользователя

Переменные окружения

Файл .env должен содержать:

DB_HOST=localhost
DB_USER=username
DB_PASSWORD=password
DB_NAME=dayframe
PORT=3001

Требования

  • Node.js (>= 14.x)
  • MySQL (>= 8.0)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published