1.4.21-beta • Published 2 years ago

account-service v1.4.21-beta

Weekly downloads
6
License
ISC
Repository
gitlab
Last release
2 years ago

Account Service

Account service as a standalone microservice is responsible to manage users information. This service is going to handle the trading account.

Architecture

All of the handlers of this micro-service are isolated and they're not releated to each other.

API Doc

To generate documentation please run npm run swagger

Rationale

API documentation of account service is available in Conf. Users need MT4 accounts so they can start trading with them in external MT4 platform. Account service will allow users to:

Defination

  • Create an mt4 Account
  • Update un mt4 account with new password, leverage, visibility, referenceName.
  • Create a demo account
  • Get the account list of a user
  • brand_id: this unique identifier designed to achive a level of transparency to handle requests. It'll help to primary micro-services to understand the request. As our product have a multi branding nature in itself we need to make it clear that queries destination by brand_id.

Architecture

Project Structure

External MT4 APIs are being used for account operations. We call one MT4 client 2 and we use it in Hugosway, and other one is MT4 client 3 which being used in whitelabel apps.

All the code base provided in src directory and build files will be placed in dist directory.

Pre-Requisites

Like the others HTTP server application, account use a similar context which includes: Create and fill .env file based on examples in .example.env.

  • Application
  • Router
  • Resources (Controllers)
  • Middlewares
  • Utils

Usage

Prerequisites

# Install dependencies:

Make sure you have installed all of the following prerequisites on your development machine:
npm install

* Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed.
* Node.js - [Download & Install Node.js](https://nodejs.org/en/download/) and the npm package manager.
* MongoDB - [Download & Install MongoDB](http://www.mongodb.org/downloads)
* Docker - [Getting started with Docker](https://docs.docker.com)
# Start the service in dev:

## Usage
npm run start:dev

Make sure you installed requirement packages by running the following command in your shell:
# Start the service for production:

```bash
npm run install
npm run build
npm run start

In order to run and build project on your machine the following commands provided:

  • npm run start: build and run project
  • npm run build: build project

Testing

Also, To make sure that new changes are linted and the code base prettified some git hooks considered which before commiting will be ran. Tests are located in src/tests folder. No handlers is ready for production unless all tests are covered.

  • npm run lint: check linting rules with eslint
  • npm run formatter: prettify the code base with prettier
# Run tests

## Testing
npm test

Please make sure after making any change to run test cases to check the functionality of all the parts.

API Documentation

By npm run test command you're able to run test cases. Swagger definition can be found in Confluence.