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

https://github.com/williamscch/budget_rails_app

Mobile web application where you can manage your budget: you have a list of transactions associated with a category, so that you can see how much money you spent and on what.
https://github.com/williamscch/budget_rails_app

capybara css erb mvc mvc-architecture postgresql rails ror rspec rspec-rails ruby ruby-on-rails

Last synced: 6 days ago
JSON representation

Mobile web application where you can manage your budget: you have a list of transactions associated with a category, so that you can see how much money you spent and on what.

Awesome Lists containing this project

README

        

# Budget Rails Web App

> Mobile web application where you can manage your budget: you have a list of transactions associated with a category, so that you can see how much money you spent and on what. The RoR application allows the user to:
- [x] Register and log in, so that the data is private to them.
- [x] Introduce new transactions associated with a category.
- [x] See the money spent on each category.

The result should look similar to the following data model:

erd_diagram

## Objectives 🔖
- [x] Use ruby gems as software packages system.
- [x] Install Ruby on Rails framework.
- [x] Understand Rails RESTful design and router.
- [x] Use controllers to handle requests and render empty views.
- [x] Use params from browser request in a safe way.
- [x] Use preprocessed html file with embedded Ruby code.
- [x] Use layouts and templates for shared content.
- [x] Use database migration files to maintain database schema.
- [x] Use validations for models.
- [x] Secure app from n+1 problems.
- [x] Understand what ORM is.
- [x] Write SQL queries with ActiveRecord.
- [x] Set up associations between models.
- [x] Build a webapp that requires the user to log in.
- [x] Use devise gem for authentication.
- [x] Limit access to webapp resources based on authorization rules.
- [x] Analyze in writing why you have made a coding choice using one structure over another.

## Interface Preview

![App Screenshot](./screenshots/ss1.png)
![App Screenshot](./screenshots/ss2.png)
![App Screenshot](./screenshots/ss3.png)
![App Screenshot](./screenshots/ss4.png)
![App Screenshot](./screenshots/ss5.png)
![App Screenshot](./screenshots/ss6.png)
![App Screenshot](./screenshots/ss7.png)
![App Screenshot](./screenshots/ss8.png)

## Project Documentation 📄

- [x] Here is the presentation video [link]()👈
- [x] Here is the deployed app in [Heroku]()👈

## Built With 🛠️

- [x] Programming Language: [Ruby](https://www.ruby-lang.org/en/)
- [x] Framework: [Ruby on Rails](https://rubyonrails.org/)
- [x] Linter: [Rubocop](https://rubocop.org/)
- [x] Code Editor: [VS Code](https://code.visualstudio.com/)
- [x] Testing Libraries: [RSpec](https://github.com/rspec/rspec-rails), [Capybara](https://github.com/teamcapybara/capybara)

## Getting Started

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

### Prerequisites

- [x] A web browser like Google Chrome.
- [x] A code editor like Visual Studio Code with Git and Ruby.

You can check if Git is installed by running the following command in the terminal.
```
$ git --version
```

Likewise for Ruby installation.
```
$ ruby --version && irb
```

To install rails, in the terminal kindly run this command
```
$ gem install rails
```

### Setup

Clone the repository using the GitHub link provided below.

### Install

In the terminal, go to your file directory and run this command.

```
$ git clone [email protected]:mavericks-db/BudgetOnRails.git
```

### Usage

Kindly modify the files as needed.

### Run tests

To install rspec, in the terminal kindly run this command

```
$ gem install rspec
```

To run tests, please run this command
```
$ rspec ./spec/#{filename}_spec.rb
```

## Author

👤 **Williams Colmenares**
- GitHub: [@williamscch](https://github.com/williamscch)
- Twitter: [@wdavidcch](https://twitter.com/wdavidcch)
- LinkedIn: [Williams Colmenares on LinkedIn](https://www.linkedin.com/in/williamscolmenaresch/)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/mavericks-db/BudgetOnRails/issues).

## Show your support

Give a ⭐️ if you like this project!

## Acknowledgments

- [Microverse](https://www.microverse.org/)
- Code Reviewers
- Original design idea by [Gregoire Vella on Behance.](https://www.behance.net/gregoirevella)

The [Creative Commons license of the design](https://creativecommons.org/licenses/by-nc/4.0/) requires that you give appropriate credit to the author. Therefore, you must do it in the README of your project.

## 📝 License

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