MysticalSTD is a simple app built to demonstrate the Microservice Architecture Pattern using NodeJs, Express, kafka, redis and aws cloud etc. This app provides the developer experience and infrastructure to scan, test and deploy personalized Front-End Webapp. The project is intended as a tutorial but you are welcome to contributions.
The project is still in testing progress. Hopefully, many new features will be added in the future. Lets check whats new will come
Since the project is developed for learning, the architecture may change if something new is added or improvements are made.
Note: I have skipped some features of the above architecture in this version. For example:
- Api gateway
- Trace and Monitoring API
- ETL Pipeline etc
Hopefully, from the next version, I will try to implement one by one.
- Api-Auth-Server
- Api-Server
- Api-Log-Server
- Api-Gateway-Server
- Deployer-Consumer
- Deployer-Mystical-Infrastructure
- Log-Consumer
- Notification-Consumer
- Scanner-Consumer
- Scanner-Mystical-Infrastructure
- Scanner-Sonar-Infrastructure
- Scanner-Bearer-Infrastructure
- System-Log-Consumer
- Mystical-App
- Proxy-Server
If all above service configure and run successfully now you can go throw below step for Execute the api in postman.
POST http://localhost:5000/api/v1/project/create
Parameter | Type | Description |
---|---|---|
projectUrl |
string |
Required. Your github project url |
projectKey |
string |
Required. Your project unique key |
projectType |
string |
Required. Your project type like react |
domain |
string |
Optional Your project custom |
Note:
Get project uuid thats required when scan and deploy your project
POST http://localhost:5000/api/v1/organization/create
Parameter | Type | Description |
---|---|---|
provider |
string |
Required. Your org provider like sonarcloud |
name |
string |
Required. Your org provider like sonar |
hostUrl |
string |
Required. Your project type like https://sonarcloud.io |
Note:
Get organization uuid thats require when create organization project, scan and deploy your project
POST http://localhost:5000/api/v1/organization/project/create
Parameter | Type | Description |
---|---|---|
organizationUUID |
string |
Required. Your organization uuid |
projectKey |
string |
Required. Your organization projectKey |
accessToken |
string |
Required.Your organization project access token |
Note:
Get organization project uuid thats required when scan and deploy your project`
if you are want send report to sonarcloud its should be valid sonatcloud 'projectKey' and 'access token'
POST http://localhost:5000/api/v1/project/scan
Parameter | Type | Description |
---|---|---|
projectUUID |
string |
Required. Your project uuid |
organizationID |
string |
Required. Your organization uuid |
organizationProjectID |
string |
Required.Your organization project uuid |
Note:
Get scan processUUID
GET http://localhost:5009/logs/projectUUID/process/processUUID/sync?stage=scan&version=10
Parameter | Type | Description |
---|---|---|
projectUUID |
string |
Required. Your project uuid |
processUUID |
string |
Required. Your scan request process uuid |
POST http://localhost:5000/api/v1/project/deploy
Parameter | Type | Description |
---|---|---|
projectUUID |
string |
Required. Your project uuid |
organizationID |
string |
Required. Your organization uuid |
organizationProjectID |
string |
Required.Your organization project uuid |
Note:
Get scan processUUID
GET http://localhost:5009/logs/projectUUID/process/processUUID/sync?stage=deploy&version=10
Parameter | Type | Description |
---|---|---|
projectUUID |
string |
Required. Your project uuid |
processUUID |
string |
Required. Your deploy request process uuid |
MysticalSTD is open source, and would greatly appreciate your help. Feel free to suggest and implement any improvements.