Skip to content

demesameneshoa/recipes-app

Repository files navigation

logo

My Recipes App


📗 Table of Contents


📖 My Recipes app

This is a web application that allows users to register and start managing recipes. Users can create, edit, and delete recipes. In addition, it is also possible to create a food inventory and take ingredients from it when creating a recipe. The application will also allow you to generate a shopping list based on the recipes you have created and the food items needed to make them. For those who do not wish to register, you can see the public recipes posted by other users.

Learning objectives

  • Use Ruby gems as a software packages system.
  • Install Ruby on Rails framework.
  • Understand Rails RESTful design and router.
  • Use controllers to handle requests and render empty views.
  • Understand Rails naming conventions.
  • Use params from browser requests in a safe way.
  • Use preprocessed HTML file with embedded Ruby code.
  • Use layouts and templates for shared content.
  • Use database migration files to maintain database schema.
  • Use validations for models.
  • Secure app from n+1 problems.
  • Understand what ORM is.
  • Write SQL queries with ActiveRecord.
  • Set up associations between models.
  • Build a web app that requires the user to log in.
  • Describe the difference between authorization and authentication.
  • Use Devise gem for authentication.
  • Understand how sessions and cookies can support authentication.
  • Write unit tests using Rspec
  • Write integration tests with capybara gem

🛠 Built With

Tech Stack

Highlighted Gems


🔑 Key Features

  • Users can sign up and log in to the application.
  • Users can create, edit, and delete recipes.
  • Users can create a food inventory and take ingredients from it when creating a recipe.
  • Users can generate a shopping list based on the recipes they have created and the food items needed to make them.

💻 Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

To run this project you need:

  • Have Ruby installed. If you need to install Ruby, follow the instructions on the official page.

Setup

Clone this repository to your desired folder:

Example commands:

  • With SSH:
  cd my-folder
  git clone [email protected]:demesameneshoa/recipes-app.git
  • With HTTPS:
  cd my-folder
  git clone https://github.com/demesameneshoa/recipes-app.git
  • With GitHub CLI:
  cd my-folder
  gh repo clone demesameneshoa/recipes-app

Install

Go to the project directory:

 cd recipes-app

Before running the program, verify that you have Ruby on Rails installed on your OS by running the following command:

 rails --version

It should show you the version of Ruby On Rails ​​installed. If this does not happen and only an error message is displayed, you should verify your installation or install Ruby on Rails from scratch.

Download and Install Ruby on Rails

Once you have verified that you have Ruby on Rails installed, run the following command to install the necessary gems:

 bundle install

After installing the gems, run the following command to create the database:

 rails db:create

Then run the following command to migrate the database:

 rails db:migrate

Usage

Run the following command inside the project folder to start the application:

 rails s

This will start the application on your local server. You can now open your browser and go to http:https://localhost:3000/ to see the application running.

Run tests

To execute the tests, run the following command inside the project folder (root):

 bundle exec rspec

(back to top)


👥 Authors

👤 Demes Ameneshoa

👤 Arthur Iturres

(back to top)


🔭 Future Features

  • Allow users to upload images for their recipes.

(back to top)


🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)


⭐️ Show your support

Give a ⭐ if you liked this project!

(back to top)


🙏 Acknowledgments

I thank the Code Reviewers for their advice and time 🏆

(back to top)


📝 License

This project is MIT licensed.

(back to top)


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published