Startup Platform — это распределённое приложение с микросервисной архитектурой, предназначенное для взаимодействия стартапов, обмена новостями и управления ссылками.
Проект разрабатывается на Java (Spring Boot) с использованием современных технологий
Проект состоит из нескольких микросервисов:
| Сервис | Описание | Репозиторий |
|---|---|---|
| User Service | Управление пользователями | user-service |
| Post Service | Лента новостей и взаимодействие с постами пользователей | post_service |
| URL Shortener Service | Сокращатель ссылок | url_shortener_service |
| Project Service | Управление проектами, задачами и командной работой | project_service |
| Analytics Service | Сбор и анализ метрик | analytics_service |
| Notification Service | Система уведомлений и рассылок | notification_service |
| Infra | Инфраструктурные компоненты, конфигурации и скрипты | infra |
Небольная картинка архитектуры проекта:

- Система уведомлений - оповещение пользователей
- Лента новостей - выдача ленты новостей для пользователей
- Таблица лидеров - рейтинговая система достижений пользователей
- Сокращатель ссылок - преобразование длинных URL в короткие ссылки и перенаправление по ним
- Java 17+
- Spring Boot (Web, Data)
- Junit, Mockito, Testcontainers
- PostgreSQL
- Redis
- Kafka
- REST API
- Docker
- Swagger
- GitHub Actions
- Gradle
- Микросервисная архитектура с возможностью горизонтального масштабирования
- Взаимодействие сервисов через Kafka и REST API
- Конфигурация окружений через Docker Compose
- Поддержка CI/CD через GitHub Actions
- Unit-тесты (JUnit5, Mockito)
- Интеграционные тесты с использованием Testcontainers
- Покрытие тестами бизнес-логики и REST-контроллеров
git clone --recurse-submodules https://github.com/Linempy/startup-platform.git
cd startup-platform/infra
docker-compose up -d