https://github.com/kotop21/todo-backend
Бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL)
https://github.com/kotop21/todo-backend
backend expressjs javascript nodejs prisma typescript
Last synced: 3 months ago
JSON representation
Бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL)
- Host: GitHub
- URL: https://github.com/kotop21/todo-backend
- Owner: kotop21
- Created: 2025-09-22T17:43:13.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-20T16:30:14.000Z (8 months ago)
- Last Synced: 2025-10-20T18:26:38.970Z (8 months ago)
- Topics: backend, expressjs, javascript, nodejs, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 200 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# 📝 Todo Backend
Цей проект — це бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL). Він дозволяє створювати, редагувати, видаляти та переглядати завдання й таблиці, а також керувати користувачами з авторизацією через JWT. Проект реалізує сучасний підхід до безпеки та валідації даних, підтримує автоматичне оновлення access token через refresh token, і містить документацію API на Swagger.
Основні можливості:
- Реєстрація та логін користувачів
- Створення, редагування, видалення таблиць та задач
- Захист приватних даних через JWT
- Валідація даних через Zod
- Документація API через Swagger
## 🚀 Як запустити проект
1. Встановіть залежності:
```bash
pnpm install
```
2. Запустіть сервер у режимі розробки:
```bash
pnpm dev
```
3. Для запуску тестів:
```bash
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 🎀`