Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mahammad-mostafa/grocery-budget
This is the capstone project of the fifth module in the Microverse program. It is a groceries budget app for managing grocery items for registered users built with Ruby on Rails & PostgreSQL.
https://github.com/mahammad-mostafa/grocery-budget
bullet cancancan capybara-rspec devise gitflow-workflow html-css microverse microverse-projects microverse-rails-capstone microverse-ruby microverse-students mvc-architecture object-oriented-programming postgresql responsive-layout rspec-rails rubocop ruby-on-rails stylelint unit-tests
Last synced: 1 day ago
JSON representation
This is the capstone project of the fifth module in the Microverse program. It is a groceries budget app for managing grocery items for registered users built with Ruby on Rails & PostgreSQL.
- Host: GitHub
- URL: https://github.com/mahammad-mostafa/grocery-budget
- Owner: mahammad-mostafa
- License: mit
- Created: 2024-01-08T22:07:44.000Z (9 months ago)
- Default Branch: development
- Last Pushed: 2024-01-15T21:22:20.000Z (9 months ago)
- Last Synced: 2024-04-14T10:06:15.453Z (6 months ago)
- Topics: bullet, cancancan, capybara-rspec, devise, gitflow-workflow, html-css, microverse, microverse-projects, microverse-rails-capstone, microverse-ruby, microverse-students, mvc-architecture, object-oriented-programming, postgresql, responsive-layout, rspec-rails, rubocop, ruby-on-rails, stylelint, unit-tests
- Language: Ruby
- Homepage: https://grocery-budget.onrender.com/
- Size: 222 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🏷️ Grocery Budget
This is the capstone project of the fifth module in the **Microverse** program.
Check the below contents for further details about this project.# 📗 Contents
- [Description](#description)
- [Instructions](#instructions)
- [Authors](#authors)
- [Future](#future)
- [Contributions](#contributions)
- [Support](#support)
- [Acknowledgements](#acknowledgements)
- [License](#license)# 📖 Description
This repository is about a budget management app for grocery items.
Porject is built using `Rails` framework with `Ruby`.
It is configured to use `PostgreSQL` database.
Integration tests using `Capybara` gem.
Authentication using `Devise` gem.
Authorization using `CanCanCan` gem.
Optimized queries with `bullet` gem.📌 **Live Demo:**
- Check project live deployment [here](https://grocery-budget.onrender.com)
- Watch a presentation for the project from here [here](https://www.loom.com/share/e9970e8839a74245b7e7c09fde7b441a)📌 **Tech Stack:**
- Programming language is `Ruby`
- Database used is `PostgreSQL`
- Framework used is `Rails`
- Tests done with `RSpec`📌 **Key Features:**
- Responsive layout with all screen sizes
- Splash welcome page for new visitors
- User authentication is required first (`email` / `password`)
- Registeration requires (`name` / `email` / `password`)
- Navigation side menu with links (`Home` / `Account` / `Logout`)
- Only registered users can access pages
- Each group displays (`name` / `icon` / `total`)
- Every group can contain several grocery items
- Any grocery item can belong to multiple groups
- Each grocery item displays (`name` / `amount`)
- Users can create new groups and new grocery items
- Back navigation to the previous page# 🛠️ Instructions
You can easily download or fork this repository and work on it immadiately!
📌 **Prerequisites:**
- You need `Ruby` language & `PostgreSQL` database installed📌 **Installation:**
- To get all required gem dependencies run
```
bundle install
```
- Create all required databases with
```
rails db:create
```
- Create all table schemas with
```
rails db:migrate
```📌 **Development:**
- Run live server using
```
rails server
```
- Manipulate & process models data through
```
rails console
```📌 **Tests:**
- Run all tests with
```
bundle exec rspec -f d
```# 👥 Authors
📌 **Mahammad:**
- [GitHub](https://github.com/mahammad-mostafa)
- [Twitter](https://twitter.com/mahammad_mostfa)
- [LinkedIn](https://linkedin.com/in/mahammad-mostafa)# 🔭 Future
Some additional features I may implement in the project:
- [ ] Integrate `React` framework in frontend
- [ ] Implement (dark / light) theme switch# 🤝🏻 Contributions
Wish to contribute to this project?
Contributions, issues, and feature requests are more than welcome!
Feel free to check the [issues](../../issues) page too.# ⭐️ Support
Like this project? Show your support by starring!
# 🙏🏻 Acknowledgements
I thank everyone at **Microverse** for guiding me through this project.
Special thanks for [Gregoire Vella](https://www.behance.net/gregoirevella) who built the reference [design](https://www.behance.net/gallery/19759151/Snapscan-iOs-design-and-branding).# 📝 License
This project is [MIT](LICENSE.md) licensed.