CMPE 202 final project Starbucks by Team Transformers.
- Created Spring Boot Maven Project Application for building Rest API's using MySQL and JPA
- Used MVC design pattern to create API's
- Created Android Aplication for UI which is displaying result for all API's
- Setup CI/CD pipeline for automated builds and Setup EC2 Autoscaling Cluster for scalability
- Poorva Agarwal 013770939
- Snehal Yeole 012548471
- Amrutha Singh Balaji Singh 013778583
- Anvitha Shubhaveer Jain 013738478
- Implemented Continuous Integration and Continuous Deployment of Application on EC2 instance.
- Implemented Autoscaling in AWS with EC2 instances behind AWS Load Balancer.
Summary:
As soon as a team member pushes code to github, a build gets triggered in Jenkins which pushes the latest code on to the EC2 Autoscaling cluster.
Authentication API
Sign Up API
Get User Details API
Add Cards API
Reload Card API
View Card Details API
Manage Order API
Payment API
Transactions Summary API
User Profile API
Extra
Android Mobile Application
Automated Cloud Deployment and CI/CD pipeline which consists of Jenkins.
This project uses Model-View-Controller design. The design was made keeping in mind reusability, de-coupling of components and maintaining a large size application.
-
For the ease of use, instead of displaying the API response via Postman, we have implemented an interactive Android application.
-
For the ease of on-going maintainability and deployments, the deployment pipeline on this application is completely automated via Jenkins.
Sprint Task Sheet and Burndown Chart
Screenshot:
Weekly Sprints for individuals and Individual XP Core Vlues
Screenshot:
-
Communication: Everyone in the team were meeting on a daily basis to discuss the tasks that each one is working on and challenges, if there were any. We discussed the challenges faced by each member in the team together and came up with solutions. For instance, to finalize design pattern to be used for the project, the team sat together and discussed the best strategy with is apt for the requirements.
-
Simplicity: As a team we sat together and discussed to keep the project as simplistic as possible. The approach, the strategy for on-going maintenance were all well thought about and made simple.
-
Feedback: Everyone in the team would discuss the tasks each one is working, on a daily basis and listen to each tasks carefully and would give feedback if the approach each one is following is correct.
-
Courage: Each one in the team was extremely honest about the tasks and the state each of the assigned tasks were at. Everyone in the team adapted to the on-going discussions and changes very effectively.
-
Respect: Each one in the team had mutually respect for each other. Everyone were treated equal and there was a sense of responsibility in every member to complete their assigned tasks. Everyone in the team was valued.
- Application Design and Setup: Team
- Code Reviews: Team
- EC2, Auto Scale Group, ELB Deployment: Amrutha Singh Balaji Singh, Anvitha Jain
- Android Application: Poorva Agarwal, Snehal Yeole
- CI/CD pipeline Setup: Amrutha Singh Balaji Singh
- Authentication/Login API: Anvitha Jain
- Sign Up API: Anvitha Jain
- Manual Testing Login and Sign up APIs: Anvitha Jain
- Add Card API: Amrutha Singh Balaji Singh
- Reload Card API: Amrutha Singh Balaji Singh
- Manual Testing AddCard and ReloadCard APIs: Amrutha Singh Balaji Singh
- Cloud EC2 Cluster Setup: Amrutha Singh Balaji Singh
- Cloud Jenkins and ELB Setup: Amrutha Singh Balaji Singh
- User Profile API: Snehal Yeole
- Get Card Details API: Snehal Yeole
- Manage Order API: Snehal Yeole
- Manual Testing User Profile, Get Card Details and Manage Order API: Snehal Yeole
- Testing API's with Android Application
- Make Payment and Update Card API: Poorva Agarwal
- Get Transaction Details of user API: Poorva Agarwal
- Get all Transactions API: Poorva Agarwal
- Manual Testing of Payment Flows: Poorva Agarwal
- RDS setup: Snehal Yeole