Giter Site home page Giter Site logo

starbucks-transformers's Introduction

Starbucks

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

Team Members:

  1. Poorva Agarwal 013770939
  2. Snehal Yeole 012548471
  3. Amrutha Singh Balaji Singh 013778583
  4. Anvitha Shubhaveer Jain 013738478

Android Application Demo YouTube link:

https://youtu.be/NmqMa6MRGZc

CI/CD Deployment Architecture

  • Implemented Continuous Integration and Continuous Deployment of Application on EC2 instance.
  • Implemented Autoscaling in AWS with EC2 instances behind AWS Load Balancer.

archi

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.

List of Rest APIs implemented using Spring Boot

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.

Design Decisions

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.

Architecture:


Draft_Architecture

Sprint Task Sheet and Story Board Links

Sprint Task Sheet and Burndown Chart

Burndown_Chart

Story Board/ Task board

Screenshot:

storyboard

Project Journal

Weekly Sprints for individuals and Individual XP Core Vlues

Screenshot:

weekly_scrum_report

Deployment Architecture Diagram

archi (1)

Component Diagram

archi (3)

UI Wireframes

UI-Wireframe (1)

XP Core Values

  • 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.

Github Contributions

1

Team Members: Contributions

  • 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

starbucks-transformers's People

Contributors

amruthasingh avatar anvitha-jain avatar jainanvitha avatar poorvaa24 avatar yeolesnehal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.