Rangiffler - современное, модное и молодежное приложение для хранения ценных воспоминаний (фотографий) со всего мира.
Социальная сеть будущего, с помощью которой можно отслеживать и проносить через себя эмоции и впечатления ваших дорогих друзей.
Спасибо, что выбрали именно нас! Еще совсем немного - и мы станем №1 и даже обойдем Instagram! Будущее за нами!
- Используемые технологии
- Архитектура приложения
- Список портов приложения
- Запуск приложения локально в IDE
- Запуск приложения в Docker
- Запуск тестов локально
- Пример тестового отчета
- Spring Authorization Server
- Spring OAuth 2.0 Resource Server
- Spring Data JPA
- Spring Web
- Spring Actuator
- Spring gRPC
- RabbitMq
- Docker
- Docker-compose
- Postgres
- React
- JUnit 5 (Extensions, Resolvers, etc)
- Allure
- Selenide
- Java 17
- Gradle 7.5.1
- И многое другое!
Приложение Rangiffler построено на основе микросервисной архитектуры, среди звеньев которой можно выделить:
- AUTH - аутентификация и авторизация (backend).
- GATEWAY - связывание (прокси) клиента с необходимыми микросервисами (backend).
- USERDATA - информация о пользователе: как личные данные, так и список друзей (backend).
- GEO - данные о странах мира (backend).
- PHOTO - сведения о фотографиях пользователей (backend).
- FRONTEND - интерфейс приложения, с которым взаимодействует пользователь (frontend).
Сервис | Порт |
---|---|
AUTH | 9000 (server) |
GATEWAY | 8080 (server) |
USERDATA | 9001 (server), 9002 (grpc) |
GEO | 9003 (server), 9004 (grpc) |
PHOTO | 9005 (server), 9006 (grpc) |
FRONTEND | 80 (server) |
docker run --name all-db -p 5432:5432 -e POSTGRES_PASSWORD=secret -d postgres:15.1
2. Подключиться к БД postgres (localhost:5432, postgres/secret, database: postgres) и создать пустые БД микросервисов
create database "auth" with owner postgres;
create database "geo" with owner postgres;
create database "photo" with owner postgres;
create database "userdata" with owner postgres;
docker run --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management
alx.krw@Aleksandrs-MacBook-Pro rangiffler % cd rangiffler-front
alx.krw@Aleksandrs-MacBook-Pro rangiffler-front % npm i
alx.krw@Aleksandrs-MacBook-Pro rangiffler-front % npm start
Run -> Edit Configurations -> выбрать main класс -> указать Active profiles: local
AUTH -> GATEWAY -> USERDATA -> GEO -> PHOTO
alx.krw@Aleksandrs-MacBook-Pro rangiffler % bash docker-compose.sh
1. Запустить приложение одним из способов (см. пункты Запуск приложения локально в IDE и Запуск приложения в Docker)
2. Запустить все тесты (сначала будут запущены тесты, после чего - загрузится страница allure-отчета)
alx.krw@Aleksandrs-MacBook-Pro rangiffler % bash run-tests-local.sh