{"id":22189393,"url":"https://github.com/davenaugler/assignment_9_recipefinder","last_synced_at":"2026-05-05T21:39:12.886Z","repository":{"id":214387937,"uuid":"736398031","full_name":"davenaugler/Assignment_9_RecipeFinder","owner":"davenaugler","description":" 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.","archived":false,"fork":false,"pushed_at":"2024-01-02T02:18:24.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T20:19:51.573Z","etag":null,"topics":["csv-parser","java","maven","rest-api","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davenaugler.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}},"created_at":"2023-12-27T19:45:42.000Z","updated_at":"2024-01-02T02:08:48.000Z","dependencies_parsed_at":"2023-12-27T22:02:19.546Z","dependency_job_id":null,"html_url":"https://github.com/davenaugler/Assignment_9_RecipeFinder","commit_stats":null,"previous_names":["davenaugler/assignment_9-_recipefinder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davenaugler/Assignment_9_RecipeFinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davenaugler%2FAssignment_9_RecipeFinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davenaugler%2FAssignment_9_RecipeFinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davenaugler%2FAssignment_9_RecipeFinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davenaugler%2FAssignment_9_RecipeFinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davenaugler","download_url":"https://codeload.github.com/davenaugler/Assignment_9_RecipeFinder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davenaugler%2FAssignment_9_RecipeFinder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32669433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["csv-parser","java","maven","rest-api","spring-boot"],"created_at":"2024-12-02T11:17:50.631Z","updated_at":"2026-05-05T21:39:12.850Z","avatar_url":"https://github.com/davenaugler.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Recipe Collection Finder\n\n## Description\nThis 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.\n\n## Features\n- Parses recipes.txt file using Apache Commons CSV.\n- Stores data in Recipe objects within a Java Collection.\n- Provides RESTful endpoints to access and filter recipe data.\n\n## Endpoints\n- /all - Returns all recipes.\n- /gluten-free - Returns recipes that are gluten-free.\n- /vegan - Returns vegan recipes.\n- /vegan-and-gluten-free - Returns recipes that are both vegan and gluten-free.\n- /vegetarian - Returns vegetarian recipes.\n\n## Side Notes\nThis was an opportunity to further my refactoring understanding on common files we code out. I took that opportunity and applied it throughout the project. \n\n- Recipe.java is using Lombok to reduce the clutter.\n  - @Data is generating getters, setters, `toString`, `equals`, and `hashCode` methods\n  - @NoArgsConstructor is generating a no-argument constructor \n\nAdditional methods are within `RecipeRepository.java` for future features. Thoese methods are...\n- getRecipeById()\n- addOrUpdateRecipe()\n- deleteRecipe()\n\n## Getting Started\n- Setup Project: Clone this repository and import it into your IDE.\n- Start Spring Boot Application: Run the application to start the Spring Boot server.\n- Access Endpoints: Use an API testing tool like Postman to access the endpoints.\n\n## Prerequisites\n- Java\n- Maven\n- Apache Commons CSV\n- Spring Boot (start.spring.io for setup)\n\n## Installation\n- Download a fresh Spring Boot project from [start.spring.io](https://start.spring.io/).\n- Import the project into your IDE.\n  - 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  \n- Add dependencies for Apache Commons CSV in your pom.xml.\n\n## Usage\n- Run the application and make HTTP requests to the provided endpoints to filter and access the recipe data.\n\n## Contributing\n- Contributions, issues, and feature requests are welcome. Please check the issues page before opening a new issue.\n\n## License\n- [MIT]()","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavenaugler%2Fassignment_9_recipefinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavenaugler%2Fassignment_9_recipefinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavenaugler%2Fassignment_9_recipefinder/lists"}