Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fmanimashaun/recipe-app

The Recipe app, built with Ruby on Rails and PostgreSQL, is a one-stop solution for managing recipes and ingredients. It allows users to track inventory, create recipes, generate shopping lists, and share recipes publicly. It simplifies and enhances the cooking experience by organizing the process efficiently
https://github.com/fmanimashaun/recipe-app

database-application inventory-management postgresql rails-api rails-app rails-application recipe-app recipe-managament ruby-on-rails shopping-list web-application

Last synced: 7 days ago
JSON representation

The Recipe app, built with Ruby on Rails and PostgreSQL, is a one-stop solution for managing recipes and ingredients. It allows users to track inventory, create recipes, generate shopping lists, and share recipes publicly. It simplifies and enhances the cooking experience by organizing the process efficiently

Awesome Lists containing this project

README

        

# Recipe App

# 📗 Table of Contents

- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [Screenshots](#screenshots)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)

## 📖 Recipe App

The **Recipe app** is a comprehensive solution for managing recipes, ingredients, and inventory, designed using Ruby on Rails with a PostgreSQL database. This fully functional application allows users to save ingredients, keep track of their inventory, create recipes, and generate shopping lists based on what they have and what they are missing from a recipe. An important feature of the app is its ability to make recipes public, enabling anyone to access them. This promotes the sharing of recipes, which is a vital part of cooking. The Recipe app is not just an application, but a cooking companion that enhances the cooking experience by organizing and simplifying the process.

## 🛠 Built With

Programming Language

  • Ruby 3.2.2

Web Application Framework

  • Rails 7.1.2

Database

  • PostgreSQL (pg gem)

Web Server

  • Puma

JavaScript Modules

  • ESM Import Maps (importmap-rails gem)

UI Styling

  • Tailwind CSS (tailwindcss-rails gem)

Hotwire

  • Turbo (turbo-rails gem)
  • Stimulus (stimulus-rails gem)

APIs

  • Jbuilder

Performance Optimization

  • Bootsnap

Testing

  • Debug
  • Factory Bot (factory_bot_rails gem)
  • RSpec (rspec-rails gem)
  • Capybara
  • Selenium Webdriver

Code Quality

  • Rubocop

Development Tools

  • Web Console (web-console gem)

Pagination

  • Kaminari

Authentication

  • Devise (devise gem)

Authorization

  • CanCanCan (cancancan gem)

### Key Feature

- [x] Rails Setup
- [x] Data Model Setup
- [x] Models Created for Recipes, Ingredients, and Inventory
- [x] Class Association Implemented among Recipes, Ingredients, and Inventory
- [x] Custom Methods Implemented to Fetch and Manipulate Data
- [x] Models Data Validation Implemented for Recipe Creation and Ingredient Addition
- [x] Models Unit Testing Applied
- [x] Feature to Generate Shopping List Based on Inventory and Recipe Requirements
- [x] Feature to Make Recipes Public for Sharing
- [x] PostgreSQL Database Integration

👆

### Screenshots

public index without login
public index with login
sign in page
Sign up page
recipes list page
food list page
shopping list page
detail page with user
detail page without user
Add food
Add ingredient
modify ingredient

👆

## 💻 Getting Started

To get started with the project, follow the steps below.

### Prerequisites

To run this project, ensure you have the following installed:

- [Git](https://git-scm.com/)
- [Ruby](https://www.ruby-lang.org/en/)
- A code editor (e.g., [VsCode](https://code.visualstudio.com/))

### Setup

Clone the repository to your local machine:

```bash
git clone https://github.com/fmanimashaun/recipe-app.git

cd recipe-app

bundle install
```

## Database Setup

This application uses PostgreSQL as the database. Here are the steps to set it up:

1. Ensure PostgreSQL is installed on your machine and running.

2. Update the config/database.yml file with your PostgreSQL username and password in the default section.

3. Create the database:

```bash
rails db:create
```

4. Run migrations to set up the database schema:

```bash
rails db:migrate
```

### Usage

To run the program, you can use a Ruby interpreter. For example, to interact with the code, use the following:

1. Start the server

```bash
bin/dev
```

2. Access the Blog app in your web browser at `http://localhost:3000`.

👆

## 👥 Authors

👤 **Fisayo Michael Animashaun**

- GitHub: [@fmanimashaun](https://github.com/fmanimashaun)
- Twitter: [@fmanimashaun](https://twitter.com/fmanimashaun)
- LinkedIn: [Fisayo Michael Animashaun ](https://linkedin.com/in/fmanimashaun)

👆

## 🔭 Future Features

- implement database

👆

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

[Issue Page](https://github.com/fmanimashaun/myblog/issues)

👆

## ⭐️ Show your support

If you like this project leave a start for it.

👆

## 🙏 Acknowledgments

I'd like to thank Microverse for helping us in the journey to become a Fullstack developer.

👆

## 📝 License

This project is [MIT](./LICENSE) licensed.

👆