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

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

this 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. You will create a Ruby on Rails application that allows the user to: register and log in,
https://github.com/bria222/budget-app

bootstrap devise devise-jwt gem html-css-javascript javascript rails restful-api ruby ruby-on-rails

Last synced: 2 months ago
JSON representation

this 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. You will create a Ruby on Rails application that allows the user to: register and log in,

Awesome Lists containing this project

README

          

# Budget-app

> This is an educational 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]()👈
- [x] Here is the deployed app in [Heroku](https://brian-budget-app.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 https://github.com/Bria222/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

👤 **Brian Nyachae**

- GitHub: [@Bria222](https://github.com/Bria222)
- LinkedIn: [Brian (mr bree) nyachae](https://www.linkedin.com/in/brian-nyachae/)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

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