Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/iturres/budget_app

πŸ’Ž RoR mobile web tool for efficient budget management. Easily track your expenses by categorizing transactions, providing a clear overview of your spending patterns.
https://github.com/iturres/budget_app

bootstrap budget-app css3 mobile-app rails ruby-on-rails webmobile

Last synced: 11 days ago
JSON representation

πŸ’Ž RoR mobile web tool for efficient budget management. Easily track your expenses by categorizing transactions, providing a clear overview of your spending patterns.

Awesome Lists containing this project

README

        


logo

My Budget App


---

# πŸ“— Table of Contents

- [πŸ“– About the Project](#about-project)
- [πŸ›  Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [πŸš€ Live Demo](#live-demo)
- [πŸ’» Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [πŸ‘₯ Authors](#authors)
- [πŸ”­ Future Features](#future-features)
- [🀝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [πŸ™ Acknowledgements](#acknowledgements)
- [πŸ“ License](#license)

---

# πŸ“– My Budget App

> My Budget App is a mobile web tool for efficient budget management. Easily track your expenses by categorizing transactions, providing a clear overview of your spending patterns.

#### Learning objectives

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

## πŸ›  Built With

### Tech Stack

#### Highlighted Gems

- [Devise](https://github.com/heartcombo/devise/wiki)

---

### :key: Key Features

- Users can sign up and log in to the application.
- Users can create, edit, and delete categories.
- Users can create and delete transactions.

---

(back to top)

---

## πŸš€ Live Demo

- [My Budget - Live Demo Link](https://mybudget-i9f9.onrender.com/)

- [My Budget - Project Presentation](https://drive.google.com/file/d/192Uxw7_N-jgd3aoeqMoStEi8cB_meX8A/view?usp=sharing)

---

## πŸ’» Getting Started

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

### Prerequisites

To run this project you need:

- Have Ruby installed. If you need to install Ruby, follow the instructions on the [official page](https://www.ruby-lang.org/en/documentation/installation/).

### Setup

Clone this repository to your desired folder:

Example commands:

- With SSH:

```bash
cd my-folder
git clone [email protected]:ITurres/budget_app.git
```

- With HTTPS:

```bash
cd my-folder
git clone https://github.com/ITurres/budget_app.git
```

- With GitHub CLI:

```bash
cd my-folder
gh repo clone ITurres/budget_app
```

### Install

Go to the project directory:

```bash
cd budget_app
```

Before running the program, verify that you have Ruby on Rails installed on your OS by running the following command:

```bash
rails --version
```

It should show you the version of Ruby On Rails ​​installed. If this does not happen and only an error message is displayed, you should verify your installation or install Ruby on Rails from scratch.

[Download and Install Ruby on Rails](https://guides.rubyonrails.org/getting_started.html)

Once you have verified that you have Ruby on Rails installed, run the following command to install the necessary gems:

```bash
bundle install
```

After installing the gems, run the following command to create the database:

```bash
rails db:create
```

Then run the following command to migrate the database:

```bash
rails db:migrate
```

### Usage

Run the following command inside the project folder to start the application:

```bash
rails s
```

This will start the application on your local server. You can now open your browser and go to [http://localhost:3000/](http://localhost:3000/) to see the application running.

### Run tests

To execute the tests, run the following command inside the project folder (root):

```bash
bundle exec rspec
```

(back to top)

---

## πŸ‘₯ Authors

πŸ‘€ **Arthur Iturres**

- GitHub: [@ITurres](https://github.com/ITurres)
- LinkedIn: [Arthur Emanuel G. Iturres](https://www.linkedin.com/in/arturoemanuelguerraiturres/)
- Angellist / Wellfound: [Arturo (Arthur) Emanuel Guerra Iturres](https://wellfound.com/u/arturo-arthur-emanuel-guerra-iturres)
- Youtube: [Arturo Emanuel Guerra Iturres - Youtube Channel](https://www.youtube.com/channel/UC6GFUFHOtBS9mOuI8EJ6q4g)
- Portfolio: [Arthur Iturres - Portfolio](https://iturres.github.io/iturres-reactive-portfolio/)

(back to top)

---

## πŸ”­ Future Features

- [ ] Allow users to upload images for their categories.
- [ ] Enhance Desktop version.

(back to top)

---

## 🀝 Contributing

Contributions, issues, and feature requests are welcome!

Kindly open any new issues or feature requests on the [repo's issues page](https://github.com/ITurres/budget_app/issues).

(back to top)

---

## ⭐️ Show your support

Give a ⭐ if you liked this project!

(back to top)

---

## πŸ™ Acknowledgments

I thank the **Code Reviewers** for their advice and time πŸ†

πŸ’‘ Original design idea by [Gregoire Vella on Behance](https://www.behance.net/gregoirevella)

(back to top)

---

## πŸ“ License

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

(back to top)

---