Streamify – это серверная часть новостного сервиса, вдохновленного функционалом "ВКонтакте" и др. популярных сервисов. Проект реализует возможности подписок, репостов, лайков, комментариев и отображения ленты новостей.
- Регистрация и аутентификация пользователей (JWT)
- Подписка и отписка на пользователей
- Создание постов с медиафайлами
- Репосты публикаций
- Лайки и комментарии к постам
- Уведомления о действиях пользователей
- Новостная лента с сортировкой по дате и популярности
Backend: Java 21, Spring Boot, Docker
- Database: PostgreSQL
- Security: JWT, Spring Security
- ORM: Spring Data JPA, Spring Data JDBC
- API Documentation: Swagger/OpenAPI
- Dependency Management: Lombok
- REST Framework: Spring MVC, OpenFeign
- XML Support: JAXB API
- SSH Support: JSch
POST /api/auth/register
– Регистрация пользователяPOST /api/auth/login
– Аутентификация и получение JWT
GET /api/users/{id}
– Просмотр профиляPOST /api/users/{id}/follow
– ПодпискаPOST /api/users/{id}/unfollow
– Отписка
POST /api/posts
– Создать постPOST /api/posts/{id}/repost
– РепостGET /api/posts/{id}
– Получить постDELETE /api/posts/{id}
– Удалить пост
POST /api/posts/{id}/like
– Поставить лайкDELETE /api/posts/{id}/like
– Удалить лайкPOST /api/posts/{id}/comments
– Добавить комментарийDELETE /api/comments/{id}
– Удалить комментарий
GET /api/notifications
– Получить список уведомлений
GET /api/feed
– Получить ленту новостей
Вот обновленная версия с добавлением информации о запуске проекта через Docker Compose:
git clone https://github.com/Maxim2710/Streamify.git
cd Streamify
mvn spring-boot:run
После успешного запуска API будет доступно по адресу http://localhost:8080
.
- Убедитесь, что у вас установлен Docker и Docker Compose.
- Запустите команду:
docker-compose up -d
- После успешного запуска API будет доступно по адресу
http://localhost:8080
.
Проект включает Swagger-документацию, доступную по адресу:
http://localhost:8080/swagger-ui.html
Для тестирования API можно использовать Postman или cURL.
📧 Если у вас есть вопросы или предложения, свяжитесь со мной:
- GitHub: Maxim2710
- Email: pm2710@mail.ru