Skip to content

sashkir7/rangiffler

Repository files navigation

Rangiffler

Rangiffler - современное, модное и молодежное приложение для хранения ценных воспоминаний (фотографий) со всего мира.

Социальная сеть будущего, с помощью которой можно отслеживать и проносить через себя эмоции и впечатления ваших дорогих друзей.

Спасибо, что выбрали именно нас! Еще совсем немного - и мы станем №1 и даже обойдем Instagram! Будущее за нами!

Оглавление

Используемые технологии

Архитектура приложения

Приложение Rangiffler построено на основе микросервисной архитектуры, среди звеньев которой можно выделить:

  1. AUTH - аутентификация и авторизация (backend).
  2. GATEWAY - связывание (прокси) клиента с необходимыми микросервисами (backend).
  3. USERDATA - информация о пользователе: как личные данные, так и список друзей (backend).
  4. GEO - данные о странах мира (backend).
  5. PHOTO - сведения о фотографиях пользователей (backend).
  6. 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)

Запуск приложения локально в IDE

1. Запустить БД командой

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;

3. Запустить Rabbit-mq брокер сообщений

docker run --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management

4. Запустить fronted-сервис

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

5. Прописать run конфигурацию для всех backend-сервисов - Active profiles local

Run -> Edit Configurations -> выбрать main класс -> указать Active profiles: local Установка active profiles

6. Запустить backend-микросервисы Rangiffler(а) командой Run в IDE в следующем порядке

AUTH -> GATEWAY -> USERDATA -> GEO -> PHOTO

Запуск приложения в Docker

1. Запустить все сервисы (сначала будут собраны образы, после чего - запущены контейнеры)

alx.krw@Aleksandrs-MacBook-Pro rangiffler % bash docker-compose.sh

2. Проверить, что сервисы корректно запустились. Ошибки отсутствуют

Запуск тестов локально

1. Запустить приложение одним из способов (см. пункты Запуск приложения локально в IDE и Запуск приложения в Docker)

2. Запустить все тесты (сначала будут запущены тесты, после чего - загрузится страница allure-отчета)

alx.krw@Aleksandrs-MacBook-Pro rangiffler % bash run-tests-local.sh 

Пример тестового отчета

Общая сводка Общая сводка Общая сводка Общая сводка

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published