Skip to content
Developed a TODO application using Rest API, performed CRUD operations and deployed application on AWS and GCP. Also, Leveraged services like EC2, CodeDeploy, S3, DynamoDB, RDS, Route 53, Load Balancer, Lambda, CloudWatch and SNS.
Java Shell HTML JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

CSYE 6225 - FALL 2017

Team Members

Aadesh Randeria 001224139

Bhumika Khatri 001284560

Siddhant Chandiwal 001286480

Yashodhan Prabhune 001220710

Prerequisites for building and deploying application locally

IntelliJ IDEA Ultimate, MySQL Workbench 6.3, Apache JMeter 3.2, Apache Tomcat 8, Postman, OpenJDK8, Ubuntu 16.04

Build and Deploy instructions for web application

Import this gradle based project in IntelliJ IDEA Ultimate and create a local Tomcat Server and give some Unique name to the server(for quick identification) to run this web application. Create a database named "clouddb" to persist the user data in MySQL. Right click on war file inside Gradle Projects listed on right side. Wait until the war gets successfully build. Now run the local server, a new browser window will be opened with a JSON object like "{"message":"you are not authorized!!!"}" Follow the steps mentioned below to test this application

  • Open Postman
  • Create a new POST request with URL - http://localhost:8080/user/register
  • Under Authorization tab select type as Basic Auth and provide valid username(Email address) and password to register user account and press Send request Button at the top
  • You will get a response saying "{"message": "User Added Successfully"}"
  • Now create a new GET request with URL - http://localhost:8080
  • Under same Authorization tab select previously used credentials to login the account and press Send Request button at the top
  • You will get a response saying "{"message": "You are Logged In. Current Time is : Sat Sep 30 09:39:20 EDT 2017"}"
  • You can further test the application by changing the body parameters to check user login validations We can further test this application from browser or by running the commands on bash shell by giving curl commands

Make Unauthenticated HTTP Request

Execute following command on your bash shell

$ curl http://localhost:8080

Expected Response:

{"message":"you are not authorized!!!"}

Authenticate for HTTP Request

Execute following command on your bash shell

$ curl -u user:password http://localhost:8080

where user is the username and password is the password.

Expected Response:

{"message":"You are Logged In. Current Time is : Sat Sep 30 09:39:20 EDT 2017"}

Instructions to Run Unit, Integration Tests

Unit tests and integration tests are present in separate Java Class inside "test" folder and annotate with required testing platform dependencies. For running locally, right click on the test functions and run them. For running on manual build trigger through Travis-CI server, ensure travis.yml contains scripts linked to the folder that contains unit tests. Commit & Push the code to Git Repository to trigger a build or else trigger manual build from the travis-CI console to get the results.

Instructions to Run Load Based tests

Install Apache-jmeter as a load test functional behavior and measuring performance. Run ./ through command line to open jmeter GUI console. Create a new thread group by browsing to appropriate ".jmx" file to load the test and set-up load testing platform like number of users and ramp-up time on the server for performance measurement We can test this application on 100 different randomly generated users. View results in tree: View results on running the application and jmeter test server.

Link to TravisCI build for the project

You can’t perform that action at this time.