{"id":35322692,"url":"https://github.com/marcusrprojects/springboot-coffeemaker","last_synced_at":"2026-04-09T02:31:17.085Z","repository":{"id":195381116,"uuid":"686206323","full_name":"marcusrprojects/SpringBoot-CoffeeMaker","owner":"marcusrprojects","description":"A full-stack Java web application simulating a coffee maker. Built with Spring Boot, Spring Data JPA, and Thymeleaf + AngularJS, this project allows users to manage recipes and inventory, and simulate making coffee via a RESTful API and web interface.","archived":false,"fork":false,"pushed_at":"2025-04-28T04:13:01.000Z","size":1922,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T18:51:25.522Z","etag":null,"topics":["angularjs","crud-application","full-stack","inventory-management","java","maven","mysql","rest-api","spring-boot","spring-data-jpa","thymeleaf","web-application"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcusrprojects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-02T03:07:43.000Z","updated_at":"2025-04-28T04:13:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"9a45239e-b6fc-4a17-b2d5-51c10d52a340","html_url":"https://github.com/marcusrprojects/SpringBoot-CoffeeMaker","commit_stats":null,"previous_names":["marcusrprojects/project2-i-08","marcusrprojects/springboot-coffeemaker"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/marcusrprojects/SpringBoot-CoffeeMaker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusrprojects%2FSpringBoot-CoffeeMaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusrprojects%2FSpringBoot-CoffeeMaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusrprojects%2FSpringBoot-CoffeeMaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusrprojects%2FSpringBoot-CoffeeMaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcusrprojects","download_url":"https://codeload.github.com/marcusrprojects/SpringBoot-CoffeeMaker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusrprojects%2FSpringBoot-CoffeeMaker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31582580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angularjs","crud-application","full-stack","inventory-management","java","maven","mysql","rest-api","spring-boot","spring-data-jpa","thymeleaf","web-application"],"created_at":"2025-12-30T23:02:38.296Z","updated_at":"2026-04-09T02:31:17.080Z","avatar_url":"https://github.com/marcusrprojects.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coffee Maker Application\n\n[![Language](https://img.shields.io/badge/Language-Java-blue.svg)]()\n[![Framework](https://img.shields.io/badge/Framework-Spring_Boot-green.svg)]()\n[![Build Tool](https://img.shields.io/badge/Build-Maven-red.svg)]()\n\nThis project was a collaboration between 4 individuals with its work broken into a weekly team portion and a weekly individual portion (separate from the team portion). This repository reflects the weekly individual portion. To see the weekly team portions, please follow this link: [Team Portion of Coffee Maker Project](https://github.com/marcusrprojects/project2-t-03/).\nNote that, necessarily, work from both the team portion is present in the individual repository and vice versa in order to make a functioning application.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [File/Folder Structure](#filefolder-structure)\n- [Application Components](#application-components)\n- [How to Run](#how-to-run)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Introduction\n\nThe Coffee Maker Application is a Java-based software system designed to simulate a coffee maker. It allows users to update inventory, add a recipe, edit recipes, delete recipes, make coffee, add ingredients, and to do so through a web-based interface.\n\n## File/Folder Structure\n\nThe project is organized into the following files and folders:\n\n- `.github`: GitHub-specific configuration files.\n- `CoffeeMaker`: The main project folder.\n  - `.mvn/wrapper`: Maven wrapper files for project setup.\n  - `src/main`: The main source code directory.\n    - `java/edu/ncsu/csc/CoffeeMaker/controllers`: Controllers for handling web requests.\n      - `APICoffeeController.java`: Controller for coffee-related API operations.\n      - `APIController.java`: General API controller.\n      - `APIIngredientController.java`: Controller for ingredient-related API operations.\n      - `APIInventoryController.java`: Controller for inventory-related API operations.\n      - `APIRecipeController.java`: Controller for recipe-related API operations.\n      - `MappingController.java`: Mapping controller.\n    - `models`: Model classes representing domain objects.\n      - `DomainObject.java`: Base class for domain objects.\n      - `Ingredient.java`: Represents an ingredient.\n      - `Inventory.java`: Represents the inventory of ingredients.\n      - `Recipe.java`: Represents a coffee recipe.\n    - `repositories`: Data repositories for interacting with the database.\n      - `IngredientRepository.java`: Repository for ingredients.\n      - `InventoryRepository.java`: Repository for inventory.\n      - `RecipeRepository.java`: Repository for recipes.\n    - `services`: Service classes for business logic.\n      - `IngredientService.java`: Service for ingredient-related operations.\n      - `InventoryService.java`: Service for inventory-related operations.\n      - `RecipeService.java`: Service for recipe-related operations.\n      - `Service.java`: Base service interface.\n    - `CoffeeMakerApplication.java`: Main Spring Boot application class.\n  - `resources`: Configuration and static resource files.\n    - `static/css`: CSS stylesheets.\n    - `templates`: HTML templates.\n    - `application.yml.template`: Application configuration template.\n  - `test/java/edu/ncsu/csc/CoffeeMaker`: Unit and integration tests.\n    - `api`: API tests.\n    - `common`: Common test utilities.\n    - `unit`: Unit tests for various components.\n- `.gitignore`: Git ignore file.\n- `pom.xml`: Maven project configuration file.\n- `images`: Images related to the project (e.g., diagrams).\n- `README.md`: This README file.\n\n## Application Components\n\nThe Coffee Maker Application consists of several components, including:\n\n- **Controllers**: Handle incoming HTTP requests and manage routing.\n- **Models**: Represent the core data structures of the application.\n- **Repositories**: Provide data access methods to interact with the database.\n- **Services**: Handles CRUD operations performed on models.\n- **HTML Templates**: Define the structure of web pages.\n- **CSS Stylesheets**: Define the application's styling.\n- **Unit and Integration Tests**: Ensure the application functions correctly.\n\n## How to Run\n\nTo run the Coffee Maker Application:\n\n1. Clone the repository to your local machine.\n2. Open the project in your preferred IDE.\n3. Build the project and resolve any dependencies.\n4. Run the `CoffeeMakerApplication.java` class to start the application.\n5. Access the application in a web browser at `http://localhost:8080`.\n\n## Testing\n\nThe project includes unit and integration tests located in the `test` directory. You can run the tests to ensure the correctness of the application's components and functionality.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusrprojects%2Fspringboot-coffeemaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcusrprojects%2Fspringboot-coffeemaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusrprojects%2Fspringboot-coffeemaker/lists"}