Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davenaugler/assignment_9_recipefinder
This Java application parses a recipes.txt file using Apache Commons CSV, stores the data in a Collection, and provides access via RESTful endpoints with Spring Boot.
https://github.com/davenaugler/assignment_9_recipefinder
csv-parser java maven rest-api spring-boot
Last synced: about 2 months ago
JSON representation
This Java application parses a recipes.txt file using Apache Commons CSV, stores the data in a Collection, and provides access via RESTful endpoints with Spring Boot.
- Host: GitHub
- URL: https://github.com/davenaugler/assignment_9_recipefinder
- Owner: davenaugler
- License: mit
- Created: 2023-12-27T19:45:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-02T02:18:24.000Z (about 1 year ago)
- Last Synced: 2024-01-03T02:58:14.412Z (about 1 year ago)
- Topics: csv-parser, java, maven, rest-api, spring-boot
- Language: Java
- Homepage:
- Size: 108 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recipe Collection Finder
## Description
This project is a Java-based application that parses a recipe.txt file and stores the data in a Java Collection. It uses the Apache Commons CSV project for parsing. The data is stored in a POJO (Recipe) and is accessible through a set of RESTful endpoints created using Spring Boot.## Features
- Parses recipes.txt file using Apache Commons CSV.
- Stores data in Recipe objects within a Java Collection.
- Provides RESTful endpoints to access and filter recipe data.## Endpoints
- /all - Returns all recipes.
- /gluten-free - Returns recipes that are gluten-free.
- /vegan - Returns vegan recipes.
- /vegan-and-gluten-free - Returns recipes that are both vegan and gluten-free.
- /vegetarian - Returns vegetarian recipes.## Side Notes
This was an opportunity to further my refactoring understanding on common files we code out. I took that opportunity and applied it throughout the project.- Recipe.java is using Lombok to reduce the clutter.
- @Data is generating getters, setters, `toString`, `equals`, and `hashCode` methods
- @NoArgsConstructor is generating a no-argument constructorAdditional methods are within `RecipeRepository.java` for future features. Thoese methods are...
- getRecipeById()
- addOrUpdateRecipe()
- deleteRecipe()## Getting Started
- Setup Project: Clone this repository and import it into your IDE.
- Start Spring Boot Application: Run the application to start the Spring Boot server.
- Access Endpoints: Use an API testing tool like Postman to access the endpoints.## Prerequisites
- Java
- Maven
- Apache Commons CSV
- Spring Boot (start.spring.io for setup)## Installation
- Download a fresh Spring Boot project from [start.spring.io](https://start.spring.io/).
- Import the project into your IDE.
- This project is using [Apache Commons CSV Central 1.10.0](https://mvnrepository.com/artifact/org.apache.commons/commons-csv/1.10.0). You may
- Add dependencies for Apache Commons CSV in your pom.xml.## Usage
- Run the application and make HTTP requests to the provided endpoints to filter and access the recipe data.## Contributing
- Contributions, issues, and feature requests are welcome. Please check the issues page before opening a new issue.## License
- [MIT]()