{"id":48020735,"url":"https://github.com/kotop21/todo-backend","last_synced_at":"2026-04-04T13:46:54.022Z","repository":{"id":316286031,"uuid":"1062021799","full_name":"kotop21/todo-backend","owner":"kotop21","description":"Бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL)","archived":false,"fork":false,"pushed_at":"2025-10-20T16:30:14.000Z","size":205,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-20T18:26:38.970Z","etag":null,"topics":["backend","expressjs","javascript","nodejs","prisma","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kotop21.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-22T17:43:13.000Z","updated_at":"2025-10-20T16:30:18.000Z","dependencies_parsed_at":"2025-10-01T00:07:26.368Z","dependency_job_id":null,"html_url":"https://github.com/kotop21/todo-backend","commit_stats":null,"previous_names":["kotop21/todo-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kotop21/todo-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotop21%2Ftodo-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotop21%2Ftodo-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotop21%2Ftodo-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotop21%2Ftodo-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kotop21","download_url":"https://codeload.github.com/kotop21/todo-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotop21%2Ftodo-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","expressjs","javascript","nodejs","prisma","typescript"],"created_at":"2026-04-04T13:46:53.021Z","updated_at":"2026-04-04T13:46:53.991Z","avatar_url":"https://github.com/kotop21.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📝 Todo Backend\n\n\nЦей проект — це бекенд для системи управління завданнями (Todo List), написаний на Node.js з використанням Express, TypeScript та Prisma (PostgreSQL). Він дозволяє створювати, редагувати, видаляти та переглядати завдання й таблиці, а також керувати користувачами з авторизацією через JWT. Проект реалізує сучасний підхід до безпеки та валідації даних, підтримує автоматичне оновлення access token через refresh token, і містить документацію API на Swagger.\n\nОсновні можливості:\n\n- Реєстрація та логін користувачів\n- Створення, редагування, видалення таблиць та задач\n- Захист приватних даних через JWT\n- Валідація даних через Zod\n- Документація API через Swagger\n\n## 🚀 Як запустити проект\n\n1. Встановіть залежності:\n   ```bash\n   pnpm install\n   ```\n2. Запустіть сервер у режимі розробки:\n   ```bash\n   pnpm dev\n   ```\n3. Для запуску тестів:\n   ```bash\n   pnpm test\n   ```\n\n## 🛠️ Технології\n\n- Node.js + Express\n- TypeScript\n- Prisma (PostgreSQL)\n- Swagger для документації\n- JWT для авторизації\n- Zod для валідації\n\n## 📚 Структура проекту\n\n- `src/routes/` — маршрути (роутери)\n- `src/controllers/` — логіка обробки запитів\n- `src/service/` — робота з базою, бізнес-логіка\n- `src/middlawes/` — мідлвари (авторизація, обробка помилок)\n- `src/schemas/` — схеми для валідації\n- `src/swagger.json` — OpenAPI документація\n\n## 🔐 Авторизація\n\nВикористовується JWT токен. Деякі маршрути захищені мідлваром `authenticateToken`.\n\n## 📦 Основні команди\n\n- `pnpm dev` — запуск у режимі розробки\n- `pnpm start` — компіляція та запуск\n- `pnpm test` — запуск тестів\n\n## 📑 Документація API\n\nSwagger доступний за маршрутом `/api-docs`.\n\n## ⚡ Як працює\n\n- Реєстрація та логін користувачів\n- Створення, редагування, видалення таблиць та задач\n- Захист приватних даних через JWT\n- Валідація даних через Zod\n\n### 🔄 Система автоматичної авторизації\n\nПісля першого входу користувач отримує refresh token, завдяки якому не потрібно повторно авторизуватись при перезавантаженні сторінки — система сама оновлює access token.\n\n## 🧑‍💻 Автор\n\n`xxds 🎀`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkotop21%2Ftodo-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkotop21%2Ftodo-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkotop21%2Ftodo-backend/lists"}