account-service
v1.4.21-beta
Published
Account service as a standalone microservice is responsible to manage account information.
Downloads
2
Readme
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 bybrand_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 projectnpm 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 witheslint
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.