-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #737 from ElrondNetwork/danielailie-patch-1
Update readme first draft
- Loading branch information
Showing
1 changed file
with
45 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,60 @@ | ||
## Description | ||
GraphQl service to provide informations regarding nfts and auctions on Elrond Blockchain | ||
|
||
## Dependencies | ||
|
||
## Installation | ||
1. Node.js > @16.x.x is required to be installed [docs](https://nodejs.org/en/) | ||
1. Redis Server is required to be installed [docs](https://redis.io/). | ||
2. MySQL Server is required to be installed [docs](https://dev.mysql.com/doc/refman/8.0/en/installing.html). | ||
3. MongoDB Server is required to be installed [docs](https://www.mongodb.com/docs/manual/installation). | ||
|
||
```bash | ||
$ npm install | ||
``` | ||
You can use `docker-compose up` in a separate terminal to use a local docker container for all these dependencies. | ||
|
||
## Running the app | ||
After running the sample, you can stop the Docker container with `docker-compose down` | ||
|
||
```bash | ||
# development | ||
$ npm run start | ||
## Available Scripts | ||
|
||
# watch mode | ||
$ npm run start:dev | ||
This is an Elrond project built on Nest.js framework. | ||
|
||
# production mode | ||
$ npm run start:prod | ||
``` | ||
### `npm run start:prod` | ||
|
||
Runs the app in the production mode. | ||
Make requests to [http://localhost:3005/graphql](http://localhost:3005/graphql). | ||
|
||
## Test | ||
## Running the app | ||
|
||
```bash | ||
# unit tests | ||
$ npm run test | ||
# development debug mode | ||
$ npm run start:debug | ||
|
||
# e2e tests | ||
$ npm run test:e2e | ||
# development mode | ||
$ npm run start:dev | ||
|
||
# test coverage | ||
$ npm run test:cov | ||
# production mode | ||
$ npm run start:prod | ||
``` | ||
|
||
It depends on the following external systems: | ||
- gateway: | ||
- interaction with the indexed marketplace | ||
- docs: [https://docs.elrond.com/sdk-and-tools/proxy/](https://docs.elrond.com/sdk-and-tools/proxy/) | ||
- index: | ||
- to gather information regarding nft history | ||
- docs: [https://docs.elrond.com/sdk-and-tools/elastic-search/](https://docs.elrond.com/sdk-and-tools/elastic-search/) | ||
- api: | ||
- to get information regarding nfts and collections | ||
- docs: [https://docs.elrond.com/sdk-and-tools/rest-api/api-elrond-com](https://docs.elrond.com/sdk-and-tools/rest-api/api-elrond-com) | ||
|
||
It uses on the following internal systems: | ||
- redis: used to cache various data, for performance purposes | ||
- rabbitmq: pub/sub for sending mainly NFT process information | ||
|
||
It depends on the following optional external systems: | ||
- events notifier rabbitmq: queue that pushes logs & events which are handled internally e.g. to trigger auctions indexing | ||
- data: provides eGLD price information for transactions | ||
- ipfs: ipfs gateway for uploading nft media and metadata | ||
- AWS S3: used to upload nft media for faster performance | ||
|
||
It uses the following optional internal systems: | ||
- mysql database: used to store mainly auction information | ||
- mongo database: used to store mainly NFT traits information | ||
|