GithubHelp home page GithubHelp logo

rica213 / save-sense Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 293 KB

Save Sense is 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.

Home Page: https://save-sense.onrender.com/

License: MIT License

Ruby 70.45% JavaScript 3.78% CSS 6.17% HTML 19.44% Shell 0.16%
bullet cancancan devise postgresql rails-ujs ruby ruby-on-rails capybara rspec-rails

save-sense's Introduction

logo

๐Ÿ’ฐ Save Sense ๐Ÿ’ธ

๐Ÿ“— Table of Contents

๐Ÿ’ธ Save Sense

Save Sense is 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.

๐Ÿ›  Built With

๐Ÿ“Œ Tech Stack

Domain Tech Stack
Server Ruby on Rails
Database PostgreSQL
Testing Framework RSpec Rails, Capybara
Authentification Devise
Authorization cancancan

(back to top)

๐ŸŽฒ Key Features

  • Create a new account
  • Log in to an existing account
  • Sign out from a session
  • Create a category
  • Add transaction to a category
  • Check the list of transactions for a particular category
  • Display the total amount of transactions for a particular category
  • Tests for category
  • Tests for transaction
  • Toggle menu
  • Dynamic navbar

(back to top)

๐Ÿš€ Live Demo

๐Ÿ‘‰ Live Demo
๐Ÿ‘‰ Video Walkthrough

(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:

  • Ruby 3.2.2 installed

  • Rails installed

Run this command to install Rails

 gem install rails

Setup

Clone this repository to your desired folder:

Example commands:

  cd my-folder
  git clone [email protected]:rica213/Save-sense.git

To install dependencies, run:

bundle install

Set up the database

To create the database, run:

rails db:create

To create the schema, run:

rails db:migrate

Usage

To run the project, execute the following command:

Example command:

  rails server

Run tests

To run tests, run the following command:

  rspec

(back to top)

๐Ÿ‘ฅ Authors

๐Ÿค‘ Clarielle Larissa

(back to top)

๐Ÿ”ญ Future Features

  • Delete a category
  • Edit a category
  • Delete a transaction
  • Edit a transaction

(back to top)

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

โญ๏ธ Show your support

Your support is crucial to the success of this project! There are ways you can contribute and show your support:

  • Provide Feedback: If you've tried out the project or have any suggestions for improvement, I would love to hear from you. Your feedback is invaluable in shaping the future direction of the project.

  • Kindly Give a ๐ŸŒŸ STAR ๐ŸŒŸ if you like this project!

Remember, your support matters! Whether it's spreading the word, providing feedback, reporting issues, contributing code, or making a donation, every action makes a difference. Together, we can make this project even better.

Thank you for your support and for being a part of this journey! โค๏ธ

(back to top)

๐Ÿ™ Acknowledgments

I would like to thank:

  • Microverse
  • Gregoire Vella for the original design idea
  • Code Reviewers

(back to top)

๐Ÿ“ License

This project is MIT licensed.

(back to top)

save-sense's People

Contributors

rica213 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

save-sense's Issues

Create the home page

  • When the user logs in, they are presented with the categories page.
  • For each category, the user can see their name, icon and the total amount of all the transactions that belongs to that category.
  • When the user clicks (or taps) on a category item, the application navigates to the transactions page for that category.
  • There is a button "add a new category" at the bottom that brings the user to the page to create a new category.

Create data models

Set up database
Use of migration
Create your models according to the ERD diagram. Don't forget about validations and tests.

Create the transactions page

  • For a given category, the list of transactions is presented, ordered by the most recent.
  • At the top of the page the user could see the total amount for the category (sum of all of the amounts of the transactions in that category).
  • There is a button "add a new transaction" at the bottom that brings the user to the page to create a new transaction.
  • When the user clicks on the "Back" button (<), the user navigates to the home page.

Create the page to add a category

  • The user fills out a form to create a new category, indicating their name and icon (both mandatory).
  • The user clicks (or taps) the "Save" button to create the new category, and is taken to the home page on success.
  • When the user clicks on the "Back" button (<), the user navigates to the home page.

Create the page to add a transaction

  • The user fills out a form to create a new transaction with the following:
    • name (mandatory)
    • amount (mandatory)
    • categories (mandatory at least one)
  • The user clicks (or taps) the "Save" button to create the new transaction, and is taken to the transactions page for that category.
  • When the user clicks on the "Back" button (<), the user navigates to the transactions page for that category.

Implement the authentication and authorization

Use of Devise
Use of Cancancan

The user should be able to register in the app with full name, email and password (all mandatory).
The user can log into the app using email and password.
If the user is not logged in, they can't access pages that require the user to be logged in

Record a video for the project

Use Loom to record
The content of the video should include:

  • a description of the project.
  • a demo of the project features.
  • highlight some interesting piece of code or something built that I am very proud of.

Create Splash screen

A simple page with the name of your app (yes, you need to choose one), and links to the sign up and log in pages.

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.