Giter Site home page Giter Site logo

philiphinch / my_money Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.69 MB

Personal React Project - Expenses Tracking App

Home Page: https://mymoneytracker.vercel.app/

HTML 1.83% JavaScript 62.96% CSS 35.21%
firebase firebase-auth firebase-database react reactjs hooks state-management usereducer usecontext framer-motion

my_money's Introduction

myMoney - Expenses Tracking App

This is a personal React Project. This my first project ever in which I use backend technologies. Here I have set up user authentication together with a database and storage for profile images. Each user can sign up and then add/remove their expenses and incomes. They can also update their profile picture and username.

There is a lot of asyncronus programming. I managed state with useReducer, useContext and useState.

I have decided mid-development to improve the app (since I was having issues with state sync accross different components and the profile page being too bloated) and modify the profile page by splitting it into components. Also i added the user info and isAuthRead to context for easier access. I also created login, signup and logout custom hooks to furter improve the code and make the navbar leaner.

This project made me sweat at the beginning, it was my first project using backend technologies and it took some time to understand exactly how to implement what I wanted to achieve. I have put a lot of learning effort and did a lot of reaserch and study during the development of this project and I have now a better understanding of certain concepts that were unclear. I learnt more about firebase authentication, database, storage. Also how important are async functions and to sync the states.

Had some confusion with git branches, some commits are messy.

View Project

This is an image

Install Dependencies

npm install

Run

npm start

This is an image

Technologies used:

Front-End:

  • REACT.JS
  • REACT FUNCTIONAL COMPONENTS
  • REACT HOOKS + CUSTOM HOOKS
  • STATE MANAGEMENT WITH USEREDUCER & USECONTEXT
  • CONTROLLED INPUTS
  • ASYNC/AWAIT
  • HIGH ORDER FUNCTIONS
  • ROUTE GUARDING
  • CSS ANIMATIONS

Back-End:

  • FIREBASE USER AUTHENTICATION
  • FIREBASE DATABASE
  • FIREBASE STORAGE

This is an image

This is an image

View Project

my_money's People

Contributors

philiphinch 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.