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

https://github.com/kwambiee/budget-app

This is a Ruby on Rails capstone project is about building a 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/kwambiee/budget-app

html-css-javascript ruby ruby-on-rails

Last synced: about 2 months ago
JSON representation

This is a Ruby on Rails capstone project is about building a 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

          

![](https://img.shields.io/badge/Microverse-blueviolet)

# BudgetChecker

> This is a Ruby on Rails capstone project is about building a 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 Ruby on Rails application that 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

## Learning 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.

## Project Documentation 📄

- [x] Here is the presentation video [link](https://drive.google.com/file/d/1S0hSm0LV4o9xom-nobIpB8lvHr-u38ae/view?usp=sharing)👈
- [x] Here is the deployed app in [Heroku](https://kwambiee-budget.herokuapp.com/)👈

## 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/)

## 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 git@github.com:kwambiee/budget-app.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

👤 **Joy Kwamboka**

- LinkedIn: [![LinkedIn Badge](https://img.shields.io/badge/-kwambiee-white?logo=LinkedIn&logoColor=0A66C2&style=plastic)](https://www.linkedin.com/in/joy-kwamboka)

- GitHub: [![GitHub Badge](https://img.shields.io/badge/-kwambiee-white?logo=GitHub&logoColor=181717&style=plastic)](https://github.com/kwambiee)

- Twitter: [![Twitter Badge](https://img.shields.io/badge/-kwambiee-white?logo=Twitter&logoColor=1DA1F2&style=plastic)](https://twitter.com/kwambiee)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/kwambiee/budget-app/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.