Platform for culinary enthusiasts, providing a space to share, discover, and discuss recipes.
View Demo · Report Bug · Request Feature
Table of Contents
Yummy is a Java-based web application. It serves as a versatile platform for culinary enthusiasts, providing a space to share, discover, and discuss recipes. Whether you're a professional chef or a home cook, Yummy is your go-to destination to explore the world of delicious dishes.
Here's why:
- Save Time: Yummy allows you to focus on what you love most – creating and cooking delicious recipes.
- Connect with a Culinary Community: Yummy brings together food enthusiasts from all over the world. Join the community to meet like-minded individuals, share your culinary experiences, and learn from others.
- Endless Recipe Inspiration: Yummy provides a treasure trove of recipes and cooking ideas. If you ever find yourself in a cooking rut or seeking inspiration, Yummy's vast recipe database is there to spark your creativity.
The Yummy application is meticulously crafted with an array of cutting-edge technologies to ensure a seamless and delightful user experience. Here's a closer look at the technologies powering Yummy:
- [Java 17] - The foundation of the application, ensuring robust performance and security.
- [Spring Framework] - Empowering Yummy with security features and dynamic web pages.
- [Thymeleaf] - The engine for creating interactive web content.
- [Postgresql] - The reliable database for storage.
- [Lombok] - Simplifying Java code with reduced boilerplate.
- [Bootstrap] - Delivering a sleek and responsive user interface.
- [Javascript] - Enhancing user interactions.
- [IntelliJ] - The development environment of choice for efficient coding.
Follow the instructions to RUN Yummy
on your machine:
To run the application, you'll need the following essential technologies and configurations:
-
Ensure you have Java 17 or a newer version installed. You can install it with SDKMAN:
sdk install java 17.0.8-tem
-
Set up a database for Yummy using Docker and PostgreSQL. Run the following command to create a PostgreSQL container with specific configurations:
docker run --name mypostgres \ -e POSTGRES_USER=root \ -e POSTGRES_PASSWORD=password \ -e POSTGRES_DB=mydatabase \ -p 5432:5432 \ -d postgres
Note: You can use whatever database you wish.
-
Follow Google's official guide to allow less secure apps to access your Gmail account. (Generating a Gmail app password is necessary for user registration to work.)
https://support.google.com/accounts/answer/185833?hl=en
-
Ensure you have a free API Key from https://calorieninjas.com.
You can now download and set up the project on your machine by following these simple steps:
- Use either of the following commands to clone the Yummy repository to your local machine:
git clone [email protected]:igorcossta/yummy.git git clone https://github.com/igorcossta/yummy.git
- Open the project in your favorite IDE.
- In your project's
application-dev.yaml
file, locate the database configuration section and enter your docker container setup:# DATABASE CONFIGURATION POSTGRES_HOST: localhost POSTGRES_PORT: 5432 POSTGRES_DATABASE_NAME: mydatabase POSTGRES_USERNAME: postgres POSTGRES_PASSWORD: password
Note: This section must match with the docker or whatever database you are using.
- After generation your Gmail app password enter your secret in
application-dev.yaml
# EMAIL CONFIGURATION EMAIL_ID: <your email> EMAIL_PASSWORD: <app password>
- In your project's
application.yaml
file, locate the API configuration section and enter your API Key:# APIs config api: calories: <key>
With these straightforward steps, you'll have Yummy up and running with your Calorie Ninjas API Key.
- Allow users to have full control over their comments by enabling deletion and modification options for comments on recipes
- Users express their appreciation for a recipe by allowing them to "like" it
- Multi-language Support
- Portuguese
- English
See the open issues for a full list of proposed features (and known issues).
Distributed under the MIT License. See LICENSE.txt
for more information.