/piggyb

Primary LanguageHTML

http://piggyb.herokuapp.com

CircleCI codecov

About

PiggyB is a Web Application and API that helps you organize your personal finance. Create Piggy Banks for you personal savings, control your expenses and reach your goals.

Check the app at http://piggyb.herokuapp.com.

Concept Idea

The idea originally came from the concept of Piggy Banks. Present in my childhood, Piggy Banks are a way to manually save and control your money for a specific goal.

Build and running

Docker

  • Build Project: docker-compose build
  • Run database setup: docker-compose run --rm web rake db:setup
  • Run database migrations: docker-compose run --rm web rake db:migrate
  • Up Project: docker-compose up

Local

  • Install Dependencies: bundle install
  • Setup Database: rake db:setup
  • Run Database Migrations: rake db:migrate
  • Start application: rails s

Continuous Integration, Tests and Test Coverage

Test Coverage configured on CodeCov. Checkout the test coverage here.

Continuous Integration is configured on CircleCI. Checkout the continuous integration here.

Running tests

  • Running tests on dokcer: docker-compose run --rm web bundle exec rspec
  • Running tests local: bundle exec rspec

API Documentation

The project has a basic API documentation at Postman. You can find the API documentation here.

Method URL Description
POST /users Create an application user
POST /piggy_banks Create Piggy Bank for user
GET /piggy_banks Get all piggy banks from an user
PUT /piggy_banks/piggy-bank-id Update a Piggy Bank info
DEL /piggy_banks/piggy-bank-id Delete an existing piggy bank
GET /piggy_banks/piggy-bank-id/movements Get all movements from a piggy bank
POST /piggy_banks/piggy-bank-id/movements Make a movement for a Piggy Bank
DEL /piggy_banks/piggy-bank-id/movements?id=movement_id Delete an existing movement for a piggy bank

Entity Relationship

ER model

Extra