Erospace is a completely cloud-enabled, serverless, highly-scalable, end-to-end solution with a city-wise dashboarding.
- RESTful APIs with sub-second response time
- City wide dashboard for Kolkata, Pune, Mumbai, Bengaluru and Delhi
- Magic!!
- Superfast APIs with response time of ~900ms
- Diffrent usage plans customizable for 3rd party vendors to be monetizable
- Provides insights on realtime air quality matrix
- Marks strongest impacted locations
- Provides health recommendations
Erospace is an example of how any solution can be completely serverless and they can be "born in the cloud".
Click on this button to Test the APIs using Swagger. APIs use authentication. It will be shared on request.
Erospace uses a number of open source frameworks and AWS services to work properly:
- AngularJS - HTML enhanced for web apps!
- Twitter Bootstrap - great UI boilerplate for modern web apps
- node.js - evented I/O for the backend
- Express - fast node.js network app framework to act as middleware
And of course Erospace itself is based on most AWS services.
AWS services used for this solution:
- Lambda - serverless containers!
- DynamoDB - NoSQL Database
- API Gateway - Service layer
- Cloudwatch - Dashboards and Alarms
- SNS - Notification service
And of course Erospace uses a lot more that can be understood from the Architecture Diagram for the entire landscape.
Project Erospace requires nodejsv8.11+ to run.
Install the dependencies and devDependencies and start the server.
For EC2 Configuration, Use AMI : Amazon Linux II :
$ sudo yum update
$ sudo yum install git
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
$ . ~/.nvm/nvm.sh
$ nvm install 8.11.0
$ npm install -g @angular/cli
$ npm install -g forever
For Dashboard Application Startup, clone this repo and follow the steps below :
$ git clone https://github.com/pournima108/main-dashboard.git
$ cd main-dashboard
$ npm install
$ cd dist/
$ forever start -a -o ./out.log -e ./err.log --uid 'Dashboard' app.js
To Kill Application Startup or if PORT 5000 in USE, follow the steps below :
$ forever stop Dashboard
For AWS Configuration, upload the Cloudformation template JSON file inside this repository. Click on this image to go to AWS Cloudformation.
- Open AWS CloudFormation
- Choose Create Stack
- Import the erospace.json file of this repository from your local system
- Hit Next and go ahead to create the Stack