Giter Site home page Giter Site logo

budget's Introduction

Budget App

Rails Postgres Bootstrap

License: MIT rails version ruby version

Live Demo

Preview


Table of Contents


Description

Mobile application that allows users to organize their finances by recording transactions and assigning them categories.


Built With

  • Major languages: Ruby, HTML, Bootstrap 5.
  • Frameworks: Ruby on Rails.
  • Tools & Methods: AWS, ActiveStorage, RSpec, PostgreSQL, Devise.

Setup

We'll need to prepare your computer to handle Ruby on Rails, which might be a hassle, so take a deep breath and cope with me :)

If you have Rails 7 installed, you can skip to the Getting Started section

Clone Repo

First clone this repo by running this command in your terminal:

git clone https://github.com/rickleibow/budget.git
# wait a couple seconds for it to download
# ...
# ...
# then move into the new directory
cd budget

Prerequisites

The following technologies must be installed before hand in your local machine:

  • Ruby (ruby --version). Should be 3.0.1 or newer.
  • SQLite3 (sqlite3 --version)
  • Node.js (node --version)
  • Yarn (yarn --version)

The commands in parenthesis () can be used to verify if they are installed and their corresponding versions.

Refer to Section 3 from the official Rails Guide for more detailed instructions on how to install these technologies.


Install Rails

Once that's done, we can install Rails. For that, run these commands in your terminal:

gem install rails
# wait a few seconds for it to download
# ...
# ...
# verify that it was installed by running
rails --version

Getting Started

The next steps setup the playing field for you to run the app in your local machine.

System Dependencies

We're getting there... trust me ;)

Execute this command to automatically install all the dependencies needed to view and work on this project:

bundle install

The full list of dependencies can be found within the Gemfile.

This also installs PostgreSQL, which you'll need for the next step.


Database Initialization

The following command will create the database and populate it with default data:

rails db:setup

The databases will be called budget_development and budget_test, you can access them manually via the command rails db.


Usage

If you got to this point, congratulations! You now have spent 2 hours in order to toy with my app. I appreciate your effort :P

Start Server

The following command should start a server

rails server

#or

./bin/dev

Which you can visit by going to http://localhost:3000 in your browser.


Testing RSpec

RSpec tests belong in another folder, which is /spec, all thanks to the ruby magic called naming conventions. Anyway, to run tests located in the spec folder run:

bundle exec rspec spec

How To Contribute?

Always remember to commit your contributions on a different branch. You can create a new one by running git checkout -b <branchname>.

Visit linters folder to learn how to setup linters.

Then check linters locally before pushing by running:

npx stylelint "**/*.{css,scss}" --fix
# ...
# ...
bundle exec rubocop -A

Finally, once your changes have no linter errors and all tests are passing, try to merge your branch into development by running:

git checkout development
git merge <branchname>

Continue by solving any merge conflicts that may arise, test the functionality of the app once more, and you're changes are ready to be pushed with git push origin <branchname>


budget's People

Contributors

rickleibow avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.