Installation
Welcome to ETHBERRY framework
This monorepo is powered by Lerna. You can read about what is monorepo and how Lerna works here
Overview
Project consists of 4 main sections
- CONTRACTS is a home of all solidity smart contracts
- PACKAGES contains FE localization and types between FE and BE
- SERVICES contains FE and BE code of the application
- MICROSERVICES a bunch of utils for integration with other services
Installation
There are a number of external services we need for data storage and communication between different parts of the system, to install and run them execute
Pre Install
I assume you have NodeJS NPM/YARN, Postgres, RabbitMQ and Redis installed or, you just can use them as a docker container
docker compose up -d
In case you have installed postgres, you have to manually create an framework-development
database,
our script only creates a schema for you.
In order to run tests, you have to manually create framework-test
database.
In any case you have to fill up sensitive keys in docker files and .env files
Manual Installation
- First, install dependencies and build project:
npm i
npm run bootstrap
- Then, you can run Project's services one-by-one, run them in separate terminals for easy monitoring
Admin-api (it will run initial postgres migrations to seed database)
npm run --prefix ./services/admin-api start
Admin-ui
npm run --prefix ./services/admin-ui start
Market-api
npm run --prefix ./services/market-api start
Market-ui
npm run --prefix ./services/market-ui start
Core-eth
npm run --prefix ./services/core-eth start
JSON-MS
npm run --prefix ./microservices/json start
GAME-MS
npm run --prefix ./microservices/game start
Emailer
npm run --prefix ./microservices/eml start
API docs
There are Swagger API documentation configured at appropriate service ports, ie Admin-api: http://localhost:3001/swagger Market-api: http://localhost:3005/swagger Core-eth: http://localhost:3021/swagger
Configuration
For fine tune of each (micro)service check README files