Это кликер, реализованный с использованием Node.js, Express.js, MongoDB и JWT для аутентификации пользователей. В проекте реализованы механизмы учета кликов, покупок автокликеров и защиты от чрезмерных запросов через rate-limiting.
- Регистрация и аутентификация пользователей.
- Учет кликов каждого пользователя.
- Покупка автокликеров, которые автоматически увеличивают количество кликов.
- Защита от чрезмерных запросов с использованием rate-limit.
- Поддержка JWT для аутентификации и авторизации.
- Node.js — Серверная платформа.
- MongoDB — База данных.
-
Клонируйте репозиторий:
git clone https://github.com/Ullyminat/Clicker.git cd Clicker -
Установите зависимости:
npm install
-
Настройте файл
.env:Создайте файл
.envв корне проекта и укажите строку подключения к базе данных MongoDB и порт для запуска сервера:DB=mongodb://localhost:27017/clicker PORT=3008 SECRET=your_jwt_secret
-
Запустите сервер:
npm run dev
Сервер будет доступен по адресу:
http://localhost:3008.
-
Регистрация нового пользователя
- URL:
/user/create - Метод:
POST - Тело запроса (JSON):
{ "username": "yourUsername", "password": "yourPassword" }
- URL:
-
Вход пользователя
- URL:
/user/login - Метод:
POST - Тело запроса (JSON):
{ "username": "yourUsername", "password": "yourPassword" } - Ответ:
{ "user": { "_id": "user_id", "username": "yourUsername" }, "token": "JWT_TOKEN" }
- URL:
-
Загрузка всех пользователей
- URL:
/user/load - Метод:
GET
- URL:
-
Добавление клика
- URL:
/clicker/click - Метод:
POST - Тело запроса (JSON):
{ "authorization": "Bearer JWT_TOKEN" }
- URL:
-
Покупка автокликера
- URL:
/clicker/buy - Метод:
POST - Тело запроса (JSON):
{ "authorization": "Bearer JWT_TOKEN" }
- URL:
- Защита от слишком частых запросов (например, кликов) с использованием rate-limiting.
- Аутентификация и авторизация с использованием JWT.
📂 backend
├── 📂 config
│ ├── db_connect.mjs # Подключение к базе данных MongoDB
├── 📂 controller
│ ├── clickerController.mjs # Логика обработки запросов для кликов
│ └── userController.mjs # Логика обработки запросов для пользователей
├── 📂 model
│ ├── clicker.mjs # Модель данных для кликов
│ └── user.mjs # Модель данных для пользователей
├── 📂 routes
│ ├── clickerRouter.mjs # Роутинг для обработки кликов
│ └── userRouter.mjs # Роутинг для пользователей
├── 📂 middleware
│ ├── Limit.mjs # Защита от лишних запросов
│ └── Token.mjs # Middleware для проверки JWT
├── .env # Конфигурация окружения
├── index.mjs # Главный файл приложения
├── package.json # Пакетный менеджер
└── README.md # Документация