- 📖 About the Project
- 💻 Getting Started
- 👥 Authors
- 🔭 Future Features
- 🤝 Contributing
- ⭐️ Show your support
- 🙏 Acknowledgements
- 📝 License
The Ruby on Rails Food application exemplifies the MVC architecture and leverages the Devise gem for authentication and the CanCanCan gem for authorization. Demonstrating the robust capabilities of Ruby on Rails, this app seamlessly interacts with a database to deliver an impressive user experience.
With a focus on food-related functionalities, the app offers a comprehensive view interface encompassing foods, recipes, and inventories. Through this interface, users are empowered to perform a range of actions. They can effortlessly add, delete, or edit items, provided they possess the necessary authorization based on their assigned role within the system.
The app also introduces a unique feature: the ability to generate a shopping list. By activating a modal and selecting items from the inventory, users can craft a personalized shopping list tailored to their requirements.
Furthermore, the app supports enhanced sharing capabilities. Users have the option to make their recipes public, extending access to all users — even those who aren't authenticated. This inclusivity encourages an exchange of culinary knowledge and ideas, fostering a collaborative environment within the app's user community.
In summary, the Ruby on Rails Food app is a showcase of the dynamic potential of the Ruby on Rails framework. By adhering to the MVC pattern and integrating authentication, authorization, and innovative features, it seamlessly orchestrates database interactions and provides users with a feature-rich platform for managing food-related content and enhancing their culinary experiences.
Client
Database
- [MVC Pattern] Follows the MVC(Model, View, Controller) pattern which allows it to be easy to manage
- [Authentication] Counts with an authentication system using Devise Gem which allows the user to have an unique account with its own email and password, and also allows the user to edit its own profile
- [Migration of Database using Rails method] All the data storaged is actually being managed by a Database, and the migration of the database is being done using the rails method
- [Testing] All the views are being tested using RSpec and Capybara
- [Linters] It follows the rules of 2 very well knowed linters Rubocop & Stylelint, which helps to keep the code clean and easy to read
- [Gitflow] Used Gitflow as a workflow which allows to have a clean and organized version control
Will be implemented in the future
To get a local copy up and running, follow these steps.
In order to run this project you need:
sh To have ruby installed with the last version of rails
Clone this repository to your desired folder:
sh Run bundle install to install all the gems and dependencies
To run the project, execute the following command:
sh Executing the command 'rails s' will start the server of this RoR app
To run integration tests, you have to follow these steps:
sh
Executing the command bundle install
will install all the necessary dependencies to run the tests of this RoR app
sh To run all the tests, execute the command 'rspec'
sh To run tests by using rspec
No deployment necessary
👤 Fredo St Fleur
- GitHub: @Fredo509
- LinkedIn: Fredo st fleur
👤 Daniel Carrera
- GitHub: @Danielamoreno699
- LinkedIn: Daniela Moreno
👤 Alejandro Velasquez
- GitHub: @VelzckC0D3
- LinkedIn: VelzckC0D3
- [Responsive Design] Build a fully responsive design
- [Live Demo] Deploy the app in a live server
- [User Profile] Add a user profile page
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project, be pending on our profiles. We are open to listen your opinion!
We extend our heartfelt gratitude to the Microverse Team and our valued partners, whose collaboration and support have been instrumental in bringing this project to fruition.
This project is MIT licensed.