Demo of a simple NodeJS API querying a MySQL back-end
This project demonstrates a NodeJS API querying a MySQL database. This project can be deployed on to an on-premises set-up or hosted on a VM on cloud.
The following diagram illustrates the components of this solution. The complete solution is hosted on a Ubuntu 18.04 LTS t2.meduim
virtual machine provisioned on AWS.
- HTTPS end-point, load balancer, reverse proxy and API caching supprt for NodeJS application instances
- Proxy server for MySQL database
- MySQL database
- API in NodeJS
To get started, head to project documentation.
The APIs are documented are as follows.
- Server:
https://host
Verb | Endpoint | Parameters | Body |
---|---|---|---|
GET |
/regnums |
None | None |
Code | Description | Type |
---|---|---|
200 |
Broker details for all registration numbers | application/json |
Example
{
"r" : [
{
"REGISTRATION_NUM": "Registration Number",
"BROKER_NAME": "AAA CAPITAL SERVICES PRIVATE LIMITED",
"BROKER_TYPE": "finance",
"TRADE_NAME": "AAAA CAPITAL SERVICES PRIVATE LIMITED",
"EXCHANGE_NAME": "BOMBAY STOCK EXCHANGE LIMITED",
"EMAIL_ADDRESS": "AAA@cal2.vsnl.net.in",
"BROKER_ADDRESS": "Calcutta"
},
{
"REGISTRATION_NUM": "Registration Number",
"BROKER_NAME": "BBB CAPITAL SERVICES PRIVATE LIMITED",
"BROKER_TYPE": "finance",
"TRADE_NAME": "BBBBB CAPITAL SERVICES PRIVATE LIMITED",
"EXCHANGE_NAME": "BOMBAY STOCK EXCHANGE LIMITED",
"EMAIL_ADDRESS": "BBB@cal2.vsnl.net.in",
"BROKER_ADDRESS": "Bombay"
}
]
}
- Server:
https://host
Verb | Endpoint | Parameters | Body |
---|---|---|---|
GET |
/regnum/ |
Registration number | None |
Code | Description | Type |
---|---|---|
200 |
Broker details for all registration numbers | application/json |
Example
{
"r" : {
"REGISTRATION_NUM": "Registration Number",
"BROKER_NAME": "AAA CAPITAL SERVICES PRIVATE LIMITED",
"BROKER_TYPE": "finance",
"TRADE_NAME": "AAAA CAPITAL SERVICES PRIVATE LIMITED",
"EXCHANGE_NAME": "BOMBAY STOCK EXCHANGE LIMITED",
"EMAIL_ADDRESS": "AAA@cal2.vsnl.net.in",
"BROKER_ADDRESS": "Calcutta"
}
}
- Server:
https://host
Verb | Endpoint | Parameters | Body |
---|---|---|---|
GET |
/regnum/ |
None | Search criteria |
Search is allowed on following fields - individual or combination.
- Broker name
- Trade name
- Broker address
Example:
- Search by trade name only
{
"search" : {
"TRADE_NAME" : "CAPITAL"
}
}
- Search by broker name and address
{
"search" : {
"BROKER_NAME" : "CAPITAL",
"ADDRESS" : "Nungambakkam"
}
}
Code | Description | Type |
---|---|---|
200 |
Broker details for all qualified search criteria | application/json |
Example
{
"r" : [
{
"REGISTRATION_NUM": "Registration Number",
"BROKER_NAME": "AAA CAPITAL SERVICES PRIVATE LIMITED",
"BROKER_TYPE": "finance",
"TRADE_NAME": "AAAA CAPITAL SERVICES PRIVATE LIMITED",
"EXCHANGE_NAME": "BOMBAY STOCK EXCHANGE LIMITED",
"EMAIL_ADDRESS": "AAA@cal2.vsnl.net.in",
"BROKER_ADDRESS": "Calcutta"
}
]
}