GithubHelp home page GithubHelp logo

fabiosenracorrea / gofinance Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 3.32 MB

React application to control your financial transactions

JavaScript 8.34% TypeScript 90.98% HTML 0.68%
typescript react express nodejs sql postgresql styled-components router-dom repository-pattern single-page-applications middleware orm typeorm eslint

gofinance's Introduction

GoFinance

GoFinance is an application designed to track your financial transactions!

You can register for an account to have your own dashboard and start monitoring your transactions, saving them with a Title, it's value, it's type (income | outcome) and category. If you feel like registering old transactions you might have been keeping track of using excel, you can upload a CSV file with all the transactions and the application will load and display them to you on a clean Dashboard.

And even if you've uploaded some incorrect transaction, you can easily delete it from your account. And don't worry about making debts, the application will not let you create an outcome transaction with a value higher than your current balance. Stay financially save guys :)

Tech

THis application was developed mainly using:

  • React JS
  • Node JS
  • Docker running a Postgres database.
  • Typescript

With the main technologies on each being:

  1. React JS
  • React, obviously.
  • Styled Components for styling
  • React-Router-Dom for navigating (Routing)
  • Yup for form validation
  • Unform for form control
  • ESLint to enforce and correct code style
  1. NodeJS
  • NodeJS, obviously
  • Express for routing
  • Jsonwebtoken for auth signing
  • Multer, csv-parse and csvtojson for CSV uploading
  • Postgres for database
  • TypeORM as a ORM
  • bcryptjs as a password encrypt dependency
  • uuid as a unique id generator
  • ts-node-dev to set up the typescript server
  • ESLint to enforce and correct code style

Constraints (Rules)

  • The outcome transaction will only register if the user has enough balance for it;
  • The application will redirect the user to the login page if he tries to access any private route while being logged out;
  • The application will redirect the user to the dashboard page he tries to access the login/register page while being logged in;
  • Only logged in users can create/list/delete transactions
  • User's password is encrypted before it's saved onto the database
  • User's log token is saved onto the browser's local storage

Preview

Check out 2 gifs of the application:

goFinance login-register pages

goFinance before creation implemented

transaction creation done

gofinance's People

Contributors

fabiosenracorrea avatar

Stargazers

Matheus Lopes 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.