Skip to content

Repository files navigation

📝 Todo Backend

Цей проект — це бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL). Він дозволяє створювати, редагувати, видаляти та переглядати завдання й таблиці, а також керувати користувачами з авторизацією через JWT. Проект реалізує сучасний підхід до безпеки та валідації даних, підтримує автоматичне оновлення access token через refresh token, і містить документацію API на Swagger.

Основні можливості:

  • Реєстрація та логін користувачів
  • Створення, редагування, видалення таблиць та задач
  • Захист приватних даних через JWT
  • Валідація даних через Zod
  • Документація API через Swagger

🚀 Як запустити проект

  1. Встановіть залежності:
    pnpm install
  2. Запустіть сервер у режимі розробки:
    pnpm dev
  3. Для запуску тестів:
    pnpm test

🛠️ Технології

  • Node.js + Express
  • TypeScript
  • Prisma (PostgreSQL)
  • Swagger для документації
  • JWT для авторизації
  • Zod для валідації

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

  • src/routes/ — маршрути (роутери)
  • src/controllers/ — логіка обробки запитів
  • src/service/ — робота з базою, бізнес-логіка
  • src/middlawes/ — мідлвари (авторизація, обробка помилок)
  • src/schemas/ — схеми для валідації
  • src/swagger.json — OpenAPI документація

🔐 Авторизація

Використовується JWT токен. Деякі маршрути захищені мідлваром authenticateToken.

📦 Основні команди

  • pnpm dev — запуск у режимі розробки
  • pnpm start — компіляція та запуск
  • pnpm test — запуск тестів

📑 Документація API

Swagger доступний за маршрутом /api-docs.

⚡ Як працює

  • Реєстрація та логін користувачів
  • Створення, редагування, видалення таблиць та задач
  • Захист приватних даних через JWT
  • Валідація даних через Zod

🔄 Система автоматичної авторизації

Після першого входу користувач отримує refresh token, завдяки якому не потрібно повторно авторизуватись при перезавантаженні сторінки — система сама оновлює access token.

🧑‍💻 Автор

xxds 🎀

About

Бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages