Skip to content

A prototype of starbucks web application supporting prominent features like payment, authentication and order management.

Notifications You must be signed in to change notification settings

psnehas/StarbucksTeamProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMPE 202 Starbucks API

Table of Contents

  1. Introduction
  2. Features
  3. Architecture
  4. Documentation
  5. Developer Logs

Introduction

Team Members

@mimlowe - Michael Lowe, User Profiles & Authentication

@iivaishnavii - Vaishnavi Ramesh, Add Cards

@KavyaChennoju97 - Kavya Chennoju, Manage Orders

@psnehas - Sneha Sneha, Make Payments

Features

Users & Authentication

.post(/user) Creates a new user

.get(/user/:email) Finds an existing user profile by email

.delete(/user) Deletes an existing user profile

.post(/user/authenticate) Sets authenticated flag true on user profile if email and pin match

.post(/user/logout) Sets authenticated flag false in user profile

Cards

.post(/addCard) Allows for card creation and adding cards to user profiles

Orders

.post(/orders) Allows for the creation of orders

.get(/orders) Displays a list of user's active orders

Payments

.post(/makePayment) Contains logic for making payments. Completes user's orders, checks and adjusts card balance.

Documentation

Full documentation is available through Postman Documenter

Architecture

EC2 Deployment Diagram

EC2 Deployment Diagram

ECS Deployment Diagram

ECS Deployment Diagram

Logs

Project Journal

1. Communication:

All of us worked jointly in developing the APIs. All decisions were made unanimously - right from creating schema for the project to deploying the project. This resulted in rapid feature development and deployment.

We had status calls for 10 minutes, the entire week, to sync up on our status.

We used Github scrum boards to create issues and this helped us in tracking open issues and helped us to complete the project successfully.

2. Simplicity:

The code implemented is simple, easy to understand and well-documented. In the future, if we plan to modify certain functionalities, the task would be simple, as the components are modular and well documented.

3. Feedback:

During the one week of development, each team member developed their API and got feedback from other members of the team. Everyone not only tested their API but also tested the APIs of other team members and tested all corner cases. The outcome of this effort was the creation of a set of robust APIs.

4. Respect:

Each team member completed the task assigned to them , on time and contributed towards the common goal.

5. Courage:

During the feedback phase, each team member was open to criticism and handled the feedback in a positive manner.

One activity of deploying services to AWS in an Auto Scaled EC2 Cluster with Load Balancer and deploying to AWS as Docker Containers in Amazon Containers is a perfect example of our team following the XP values. No one had prior experience in deploying services to scalable servers/dockers. Hence , we decided to tackle the problem together. We read articles and figured out a way to deploy the services successfully.This activity marks all the checkboxes of XP core values - communication, feedback, respect, courage and simplicity.

SCRUM Board

Available through GitHub Projects

Burndown Chart

Available through Google Sheets

About

A prototype of starbucks web application supporting prominent features like payment, authentication and order management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published