Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/kidd254/budget_app


https://github.com/kidd254/budget_app

bootstrap5 css html ruby ruby-on-rails server-side-rendering

Last synced: 27 days ago
JSON representation

Awesome Lists containing this project

README

        


| MoneyMate App


# πŸ“— Table of Contents

- [πŸ“— Table of Contents](#-table-of-contents)
- [MoneyMate App ](#MoneyMate-app-)
- [πŸ›  Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [πŸš€ Live Demo ](#-live-demo-)
- [πŸ”­ Walk through video ](#-walk-through-video-)
- [πŸ’» Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run linters](#run-linters)
- [Run tests](#run-tests)
- [πŸ‘₯ Authors ](#-authors-)
- [πŸ”­ Future Features ](#-future-features-)
- [🀝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [πŸ™ Acknowledgments ](#-acknowledgments-)
- [πŸ“ License ](#-license-)

---

# MoneyMate App

**"MoneyMate App"** MoneyMate is a mobile budget app built with Rails 7 and PostgreSQL. It allows the user to record all their expense transactions and classify them by categories. This helps the user to keep effective, private and secure control of all the information on their expenses, and thus be able to make better decisions about money management.

**MoneyMate** is easy to use and navigate. Users can create categories (with a name and icon) and payment transactions in minutes by selecting at least one category and entering a description and amount. The app then automatically categorizes expenses and tracks spending over time.

**MoneyMate** is the perfect budget app for anyone who wants to take control of their finances. It is easy to use and offers a variety of features to help users manage their budget successfully.

---

## πŸ›  Built With

### Tech Stack

Backend

Frontend

### Key Features


  • Ruby on Rails framework


  • Use Linters to check code quality

    • Rubocop

    • Stylelint



  • MVC architectural/design pattern

  • Data persistent in PostgreSQL

  • Test the application with rspec and capybara gems

  • Authentication system build with devise gem

  • Follow Microverse's list of best practices

(back to top)

---

### πŸš€ Live Demo

To see the application working live, you can click on the following link that contains the demo version:

- [Money Mate App - Live Demo]()

(back to top)

## πŸ”­ Walk through video

Video presentation of the Project

(back to top)

## πŸ’» Getting Started

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

### Prerequisites

In order to run this project you need:


  • **A code editor** like Visual Studio Code (Recommended) or any other of your preference. It is necessary to open the project and add or modify the source code. [You can Download Visual Studio Code here](https://code.visualstudio.com/)



  • **Git:** to manage the project versions of source code. [You can Download Git here](https://git-scm.com/)



  • **Nodejs and NPM:** to install and manage the node packages. [Nodejs and NPM installation guide](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)


### Setup

Clone this repository to your desired folder by using this πŸ‘‡οΈ command :

```
git clone https://github.com/Kidd254/Budget_App.git
```

### Install

Go to the project directory:

```
cd budget-app
```

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

```
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, then you should either 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:

```
bundle install
```

Then run the following command to install the necessary Node packages:
```
npm install
```

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

```
rails db:create
```

Then run the following command to migrate the database:

```
rails db:migrate
```

### Usage

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

```
rails s
```

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

### Run linters

To verify that the ruby and CSS code is written without errors and meets good practice standards, run the following command inside the project folder:

- **ruby linter:**
```
rubocop
```

- **CSS linter:**
```
stylelint "**/*.{css,scss}"
```

### Run tests

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

```
bundle exec rspec
```

(back to top)

---

## πŸ‘₯ Authors

πŸ‘€ **Lawrence Muema Kioko**
- GitHub: [@githubhandle](https://github.com/Kidd254)
- Twitter: [@twitterhandle](https://twitter.com/lawrenc98789206)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/lawrence-muema-kioko)

(back to top)

---

## πŸ”­ Future Features

Upcoming improvements:

- [x] Add Forms to create a new category and payment
- [x] Add the functionality to list categories and payments
- [x] Add the integration tests using capybara gem
- [x] Create the CSS styles for the app
- [x] Deploy the application

(back to top)

---

## 🀝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/NitBravoA92/budget-app/issues).

To do Contributions, please fork this repository, create a new branch and then create a Pull Request from your branch. You can find detailed description of this process in: [A Step by Step Guide to Making Your First GitHub Contribution by Brandon Morelli](https://codeburst.io/a-step-by-step-guide-to-making-your-first-github-contribution-5302260a2940)

(back to top)

---

## ⭐️ Show your support

If you like this project and know someone who might find it helpful, please share it.
Or give it a **star** ⭐️ if you like this project!

(back to top)

---

## πŸ™ Acknowledgments

The UI design of this webapp is not mine. This design was created and belongs to Gregoire Vella. (Here)[https://www.behance.net/gallery/19759151/Snapscan-iOs-design-and-branding?tracking_source=] you can find more information about the original design of this mobile app and you can also see Gregoire Vella's profile (here)[https://www.behance.net/gregoirevella] to know more details about his wonderful work.

I would also like to thank my Microverse teammates for their support. They have supported me a lot in carrying out this project, giving me suggestions, good advice and solving my code doubts.

(back to top)

---

## πŸ“ License

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

The UI design of the webpage is not mine. It is under (Creative Commons License)[https://creativecommons.org/licenses/by-nc/4.0/] licensed.

(back to top)

---