TailsFinder — веб-додаток, який допомагає людям знаходити загублених або знайдених тварин. Мета проєкту — об'єднати власників, волонтерів та небайдужих людей, щоб швидше повертати улюбленців додому.
- Розміщення оголошень про загублену тварину.
- Розміщення оголошень про знайдену тварину.
- Перегляд стрічки оголошень (з пошуком/фільтрацією).
- Зручна мобільна версія (PWA — можна встановити як застосунок на телефон).
- Фронтенд: React + React Router + Redux Toolkit
- Стилизация: CSS Modules
- Бекенд: Node.js (Express) + MongoDB (Mongoose)
- Авторизаці: JWT (JSON Web Token)
- PWA: Service Worker, Web Push, Manifest.json
- Інші інструменти: Git, npm, ESLint/Prettier
TailsFinder/
├── client/ # фронтенд (React)
│ ├── public/ # статичні файли, manifest.json
│ └── src/
│ ├── components/ # UI-компоненти
│ ├── pages/ # сторінки (Home, Lost, Found, AddPet, Auth)
│ ├── store/ # Redux store
│ ├── services/ # API-запити
│ └── App.jsx
│
├── server/ # бекенд (Express)
├── constants/ # Константи (enum'и, статуси, повідомлення про помилки)
├── controllers/ # Логіка обробки HTTP-запитів (advertsController, userController тощо)
├── db/ # Підключення до бази даних (MongoDB, Mongoose)
├── middlewares/ # Middleware (авторизація, обробка помилок, валідація токенів)
├── models/ # Mongoose-схеми (User, Advert, Notification)
├── routers/ # REST API маршрути (advertsRouter, authRouter)
├── services/ # Бізнес-логіка (робота з БД, фільтрами, пошуком)
├── utils/ # Допоміжні функції (форматування, генерація токенів тощо)
├── validation/ # Joi / Yup схеми для валідації запитів
│
├── index.js # Точка входу (імпорт серверного застосунку)
└── server.js # Ініціалізація Express-застосунку
│
├── README.md
└── package.json
git clone https://github.com/Woolfson-Julia/TailsFinder.git
cd TailsFinderФронтенд:
cd client
npm installБекенд:
cd server
npm installФронтенд:
npm startБекенд:
npm run dev-
Меню користувача / сторінка профілю — наразі не реалізовані, плануємо додати в найближчі тижні.
-
Інтелектуальний пошук по зображеннях з AI — форма готова, але поки налаштовується логіка, іноді виникають помилки.
-
Відправка користувачу схожих оголошень на e-mail — AI аналізує нові оголошення і надсилає посилання при збігах.
-
Push-нотифікація при збігах (коли хтось знаходить схожу тварину)
-
Подальше поліпшення UI/UX і оптимізація мобільної версії.