Skip to content

A back-end API project that allows students to brew magical potions, discover new recipes, and update existing potions with new ingredients. This project uses Java and Spring Boot to manage entities and repositories for students, rooms, ingredients, recipes, and potions πŸ§™β€β™‚οΈπŸ§ͺ

Notifications You must be signed in to change notification settings

ramirorichmand/RR7_HarryPotter_And_TheEnchantedElixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

06/05/23 RR7_HarryPotterAndTheEnchantedElixir πŸ§™β€β™‚οΈπŸ§ͺ

SnapePotionLesson

The Challenge πŸ’‘

As a personal challenge, I have set out to develop a Spring Boot backend application within 24 hours. The goal of the application is to manage information about magical potions in the Wizarding World.

To achieve this, I will be implementing various Spring technologies such as Spring Data, Spring Data Queries, Spring database connection, and Spring JPA repositories . Additionally, I will be creating RESTful API endpoints for managing the potions.

My goal is to demonstrate my proficiency in Spring and backend development while working efficiently under time constraints. 🎯

MVP πŸš€

Here are the features that make up the core of the Harry Potter and the Enchanted Elixir πŸ§™β€β™‚οΈπŸ§ͺ project:

  1. Student Entity: The Student class is an Entity and can be persisted by its Long IDs.
  2. Student Repository: There is a JpaRepository interface dedicated to Student entities that can persist Student objects.
  3. Room Entity: The Room class is an Entity and can be persisted by its Long IDs.
  4. Room Repository: There is a JpaRepository interface dedicated to Room entities that can persist Room objects.
  5. Room Endpoints: Endpoints for creating, finding, deleting, updating, finding available rooms, or finding rooms for owners create the same response as with the PostgreSQL database.
  6. Ingredient Entity: The Ingredient class is an Entity and can be persisted by its Long IDs.
  7. Ingredient Repository: There is a JpaRepository interface dedicated to Ingredient entities that can persist Ingredient objects.
  8. Recipe Entity: The Recipe class is an Entity and can be persisted by its Long IDs.
  9. Recipe Repository: There is a JpaRepository interface dedicated to Recipe entities that can persist Recipe objects.
  10. Potions: Potions are persisted in the database, and all existing potions are listed at /potions.
  11. Brew Potion: At /potions, a Student can brew a Potion by sending a POST request. The list of Ingredients is checked if it matches any Potion. If the brew is a discovery, the Recipe is persisted with the list of Ingredients, the Student, and with a name generated from the Student's name (e.g. "John Doe's discovery #2"). The response contains the persisted Potion.
  12. Student Potions: At /potions/{student-id}, all known Potions of a Student are listed.
  13. Generate Potion: By sending a POST request to /potions/brew, a new Potion is generated containing the Student and the status of brewing.
  14. Update Potion: By sending a PUT request to /potions/{potion-id}/add, the Potion with the potion-id gets updated with the new Ingredient. The response contains the updated Potion object.

With these features, the Harry Potter and the Enchanted Elixir πŸ§™β€β™‚οΈπŸ§ͺ project provides an efficient way to manage information about magical potions in the Wizarding World.

PotionsElixir

Show Your Support 🀝

Thank you for taking the time to drop by and check out this Backend API Project ☺️

If you've liked or found this project helpful, please consider giving it a star 🌟 and supporting me on my journey to improve my programming skills and chase my aspirations. I'd love to hear your feedback on this project, so feel free to leave your thoughts and suggestions.

Every contribution counts and is deeply appreciated as I pursue a path of lifelong learning and aim to create meaningful content for the magical and muggle community alike.

Thank you again for your support! πŸ™

About

A back-end API project that allows students to brew magical potions, discover new recipes, and update existing potions with new ingredients. This project uses Java and Spring Boot to manage entities and repositories for students, rooms, ingredients, recipes, and potions πŸ§™β€β™‚οΈπŸ§ͺ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages