Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mdrxy/coffeemaker
Collaborative full-stack web application project emulating a Coffee Shop's back-office
https://github.com/mdrxy/coffeemaker
github-actions hibernate java maven mysql semantic-ui spring-boot
Last synced: 6 days ago
JSON representation
Collaborative full-stack web application project emulating a Coffee Shop's back-office
- Host: GitHub
- URL: https://github.com/mdrxy/coffeemaker
- Owner: mdrxy
- License: gpl-3.0
- Created: 2024-07-30T02:02:37.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-06T04:29:20.000Z (3 months ago)
- Last Synced: 2024-08-06T06:58:56.169Z (3 months ago)
- Topics: github-actions, hibernate, java, maven, mysql, semantic-ui, spring-boot
- Language: JavaScript
- Homepage:
- Size: 9.38 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CoffeeMaker: Full-Stack Web Application
**Line Coverage**
![Coverage](.github/badges/jacoco.svg)
**Branch Coverage**
![Branches](.github/badges/branches.svg)
**Technologies Used:** Java, Spring Boot, Hibernate, Maven, MySQL, Semantic UI [(community fork)](https://github.com/fomantic/Fomantic-UI), HTML, CSS, and deployed w/ CI (GitHub Actions)
## Overview
Developed a full-stack web application in a team of 3 as an introduction to basic full-stack web development principles. The project explores various modern technologies and methodologies to help understand the considerations needed when delivering a robust and scalable application.
* Test-driven development
* [Unit testing](https://github.com/mdrxy/coffeemaker/tree/main/CoffeeMaker/src/test/java/edu/ncsu/csc/CoffeeMaker)
* [Sequence](https://github.com/mdrxy/coffeemaker/wiki/Dynamic-Design) and [class diagramming (UML)](https://github.com/mdrxy/coffeemaker/wiki/Static-Design)
* [Backend](https://github.com/mdrxy/coffeemaker/tree/main/CoffeeMaker/src/main/java/edu/ncsu/csc/CoffeeMaker/models) and [frontend design](https://github.com/mdrxy/coffeemaker/tree/main/images/UC4-Scenario-1) and [implementation](https://github.com/mdrxy/coffeemaker/tree/main/CoffeeMaker/src/main/resources/templates)
* End point design
* [REST API implementation (CRUD)](https://github.com/mdrxy/coffeemaker/tree/main/CoffeeMaker/src/main/java/edu/ncsu/csc/CoffeeMaker/controllers)
* Task & dependency testing## Team Collaboration + Development Schedule
Our team followed a structured development schedule to ensure systematic progress and effective collaboration. Here’s a detailed breakdown of our milestones:
* **Milestone 0:** Debugging Workshop & Requirements
* **Milestone 1:** Testing Workshop
* Database & Persistence Testing Workshop
* API Testing
* **Milestone 2:** Backend Design Workshop
* **Milestone 3:** Frontend Design Workshop
* **Milestone 4:** Backend Implement and Test Workshop
* Databases and Persistence Implementation
* REST API Implementation
* **Milestone 5:** Frontend Implement and Test
* Frontend Workshop
* **Milestone 6:** Project Deployment & Presentation
* **Milestone 7:** Project Reflection & Team Evaluation## Screenshots
![](/images/screenshots/homepage.png)
![](/images/screenshots/add-ingredient.png)
![](/images/screenshots/add-recipe.png)
![](/images/screenshots/edit-recipe.png)
![](/images/screenshots/edit-error.png)
![](/images/screenshots/edit-success.png)
![](/images/screenshots/update-inventory.png)## Prerequisites
Assuming installation on macOS, [install MySQL with Homebrew](https://formulae.brew.sh/formula/mysql#default) and then run:
```sh
brew services start mysql
```Make a copy of `src/main/resources/application.yml.template` inserting the local MySQL password. Run as Java Project in VSCode.