Skip to main content

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

  1. First, install dependencies and build project:
npm i
npm run bootstrap
  1. 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