Joke Generator — це інтерактивний веб-додаток, який дозволяє користувачам генерувати випадкові жарти, додавати свої власні, зберігати улюблені та керувати ними через адмін-панель.
Проєкт складається з Frontend на React та Backend на Node.js/Express, з базою даних MongoDB для зберігання жартів. Також інтегрований TelegramBot, який сповіщає про нові жарті, що додаються користувачами.
- На головній сторінці є кнопка Generate, яка отримує випадковий жарт із бази даних через бекенд.
- Жарти зберігаються у MongoDB і постійно оновлюються.
- Користувач може додати свій жарт на сторінці Add Joke.
- Після відправки жарту надходить повідомлення на TelegramBot, де адміністратор може його перевірити та прийняти.
- Жарти можна легко модерувати через адмін-панель.
- Прийом нових жартів від користувачів.
- Редагування та видалення існуючих жартів.
- Додавання жартів вручну безпосередньо через панель.
- Система логінізації для безпечного доступу адміністратора.
- Кожен згенерований жарт має іконку-зірочку ⭐.
- Натиснувши на неї, жарт додається у LocalStorage браузера.
- На сторінці Favorite Jokes можна переглянути та видалити всі збережені жарти.
- Frontend:
- React
- Tailwind CSS
- React Router
- Backend:
- Node.js
- Express
- MongoDB (Mongoose)
- Додатково:
- TelegramBot API для повідомлень про нові жарті
- LocalStorage для збереження улюблених жартів
- Генерувати випадкові жарти на головній сторінці.
- Додавати власні жарти та отримувати сповіщення через TelegramBot.
- Зберігати улюблені жарти у LocalStorage.
- Переглядати та видаляти свої улюблені жарти на сторінці Favorites.
- Перегляд та прийом нових жартів від користувачів.
- Редагування та видалення жартів у базі даних.
- Додавання нових жартів вручну.
- Логінізація для безпечного доступу до адмін-панелі.
- Клонувати репозиторій:
git clone https://github.com/yourusername/random-joke-generator.git
2. Встановити залежності:
# Для фронтенду
npm install
# Для бекенду
cd server
npm install
3. Налаштувати .env файл для бекенду:
MONGO_URI=your_mongodb_connection_string
TOKENBOT=your_telegram_bot_token
ADMIN_CHAT_ID=your_admin_password
JWT_SECRET=your_jwt_secret
API_URL=http://your_domain:port/api
PORT=server_port
3. Налаштувати .env файл для фронтенду:
VITE_API_URL=http://your_domain:port/api
5. Запуск проекту:
# Запуск фронтенду
npm run dev
# Запуск бекенду
cd server
npm run dev