Skip to content

Yummy is a Java-based web application built with Spring Boot, PostgreSQL, and Thymeleaf. It's your go-to platform for sharing, discovering, and discussing recipes.

License

Notifications You must be signed in to change notification settings

igorcossta/yummy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yummy

Platform for culinary enthusiasts, providing a space to share, discover, and discuss recipes.

View Demo · Report Bug · Request Feature

Explore the docs »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Preview
  4. Roadmap
  5. License

About The Project

Product Name Screen Shot

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.

(back to top)

Built With

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.

(back to top)

Getting Started

Follow the instructions to RUN Yummy on your machine:

Prerequisites

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.

Installation

You can now download and set up the project on your machine by following these simple steps:

  1. 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
  2. Open the project in your favorite IDE.
  3. 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.

  4. After generation your Gmail app password enter your secret in application-dev.yaml
    # EMAIL CONFIGURATION
    EMAIL_ID: <your email>
    EMAIL_PASSWORD: <app password>
  5. 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.

(back to top)

Preview

Recipes Page My Recipes Page Recipe Details Page Recipe Comments Section Recipe Creation Page Action Warning Modal

(back to top)

Roadmap

  • 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).

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)


About

Yummy is a Java-based web application built with Spring Boot, PostgreSQL, and Thymeleaf. It's your go-to platform for sharing, discovering, and discussing recipes.

Resources

License

Stars

Watchers

Forks