- Запустить моки (папка с моками)
bash wiremock.sh
- Запустить фронтенд
cd ./rococo-client
npm i
npm run dev
Фронт стартанет на порту 3000: http://127.0.0.1:3000/
Минимальные предусловия для работы с проектом Rococo
Мы будем использовать docker для БД (MySQL), кроме того, будем запускать микросервисы в едином docker network при помощи docker-compose
Установка на Mac (Для ARM и Intel разные пакеты)
После установки и запуска docker daemon необходимо убедиться в работе команд docker, например docker -v
:
docker -v
docker pull mysql:8.0.33
docker pull confluentinc/cp-zookeeper:7.3.2
docker pull confluentinc/cp-kafka:7.3.2
После pull
вы увидите спуленный image командой docker images
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.33 9f3ec01f884d 10 days ago 379MB
confluentinc/cp-kafka 7.3.2 db97697f6e28 12 months ago 457MB
confluentinc/cp-zookeeper 7.3.2 6fe5551964f5 7 years ago 451MB
Например, DBeaver или Datagrip. Можно MySQLWorkbench.
sudo /usr/local/mysql/support-files/mysql.server start
Подключиться к запущенному серверу MySQL с паролем, выбранным в процессе установки MySQL, пользователем root из MySQLWorkbench
Создать базы данных для всех сервисов
create
database "rococo-userdata";
create
database "rococo-artist";
create
database "rococo-geo";
create
database "rococo-museum";
create
database "rococo-painting";
create
database "rococo-auth";
Версию установленной Java необходимо проверить командой java -version
java -version
Если у вас несколько версий Java одновременно - то хотя бы одна из них должна быть 17+ Если java не установлена вовсе, то рекомендую установить OpenJDK (например, из https://adoptium.net/en-GB/)
Инструкция. Рекомендованная версия Node.js - 18.13.0 (LTS)
docker volume create rococo
bash localenv.sh
Фронт стартанет на порту 3000: http://127.0.0.1:3000/
Для этого зайти в меню Run -> Edit Configurations -> выбрать main класс -> указать Active profiles: local
Запустить сервис auth командой
cd rococo-auth
gradle bootRun --args='--spring.profiles.active=local'
Или просто перейдя к main-классу приложения RococoAuthApplication выбрать run в IDEA (предварительно удостовериться что выполнен предыдущий пункт)
5. Запустить в любой последовательности другие сервисы rococo-userdata, rococo-gateway, rococo-artist, rococo-geo, rococo-museum, rococo-painting
Командой или перейдя к main-классам каждого сервиса (см предыдущий пункт)
1. Создать бесплатную учетную запись на https://hub.docker.com/ (если отсутствует)
vi /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
127.0.0.1 client.rococo.dc
127.0.0.1 auth.rococo.dc
127.0.0.1 gateway.rococo.dc
cd rococo
bash docker-compose-dev.sh
Rococo при запуске в докере будет работать для вас по адресу http://client.rococo.dc/
1. Войти в свою УЗ на https://hub.docker.com/ и последовательно создать публичные репозитории
- rococo-client
- rococo-userdata
- rococo-gateway
- rococo-auth
- rococo-artist
- rococo-geo
- rococo-museum
- rococo-painting
Допустим, что ваш username на https://hub.docker.com - foobazz
- где foobazz - ваш юзернэйм на https://hub.docker.com/
cd rococo
4. Собрать все имеджи, запушить и запустить rococo одной командой, если необходим фронтенд GraphQL, то это указывается аргументом к скрипту:
bash docker-compose-dev.sh push