Микросервисная платформа для управления новостями, комментариями и пользователями с ролевой моделью доступа.
Проект представляет собой микросервисную архитектуру, состоящую из двух независимых сервисов:
| Сервис | Назначение | Ссылка |
|---|---|---|
| NewsLogicServer | Работа с новостями и комментариями: CRUD, поиск, пагинация, фильтрация | GitHub |
| NewsSecurityServer | Аутентификация и авторизация пользователей (JWT), управление ролями | GitHub |
Клиент (Frontend / Postman / Swagger)
│
├──→ NewsSecurityServer (Auth)
│ └── JWT Token
│
└──→ NewsLogicServer (Business Logic)
└── Все операции с новостями и комментариями
-
NewsSecurityServer — отвечает за:
- Регистрацию (
POST /auth/signup) - Вход в систему (
POST /auth/login→ JWT) - Роли:
ADMIN,JOURNALIST,SUBSCRIBER
- Регистрацию (
-
NewsLogicServer — отвечает за:
- CRUD новости и комментариев
- Полнотекстовый поиск
- Пагинацию
- Ролевой доступ через JWT
- Docker & Docker Compose
- Java 17+
- IntelliJ IDEA (рекомендуется)
-
Клонируйте оба репозитория:
git clone https://github.com/MrFurion/NewsSecurityServer.git git clone https://github.com/MrFurion/NewsLogicServer.git
-
Запустите каждый сервис: Перейдите в папку каждого проекта и выполните:
docker-compose up -d
-
Запустите приложение:
- Откройте каждый проект в IntelliJ IDEA
- Запустите главный класс:
NewsSecurityServerApplicationNewsLogicServerApplication
-
Проверьте доступность API: Security: http://localhost:8081/swagger-ui.html Logic: http://localhost:8080/swagger-ui.html
| Логин | Пароль | Роль |
|---|---|---|
Admin |
4444 |
ADMIN |
Journalist |
4444 |
JOURNALIST |
Subscriber |
4444 |
SUBSCRIBER |
Используйте
POST /auth/loginна NewsSecurityServer для получения JWT.
- Spring Boot 3
- Spring Security + JWT
- PostgreSQL
- Docker Compose
- Swagger / OpenAPI
- Lombok, MapStruct
- JPA / Hibernate