Skip to content

Shanzid01/MoneyManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jun 21, 2019
ebf2aff · Jun 21, 2019

History

23 Commits
Jun 18, 2019
Jun 21, 2019
Jun 18, 2019
Jun 18, 2019
Jun 18, 2019
Jun 18, 2019
Jun 18, 2019
Jun 18, 2019
Jun 18, 2019

Repository files navigation

MoneyManager

Full-stack web application for recording and monitoring daily finances.

Web app: https://moneymanager.gq/app
Android app: https://play.google.com/store/apps/details?id=com.shanzid.moneymanager
Homepage: https://moneymanager.gq


Technical overview

Fully responsive design - works with all major browsers and devices.

Built with

  • Firebase Cloud Functions for server-side processing (using NodeJS)
  • Firestore for database
  • ReactJS for the front-end (hosted on Firebase)
  • Firebase Authentication for user management (tldr; Full-stack app with FERN stack)

Project folder structure

  • 'client' folder contains all front-end code (built with create-react-app)
    • '/src/components' contains all "dumb" components
    • '/src/containers' contains all the primary screens
    • '/src/styles' contains all css styling
    • '/src/helpers' contains some basic Javascript code to help with some generic functions
    • '/src/keys' has to contain your own project configurations (obtained from firebase project console)
    • '/build' contains compiled code (npm run build)
    • index.js contains all routing configurations
      Everything else is boilerplate code.
  • 'functions' folder contains Firebase Cloud Functions code
    • entry point at 'index.js'
    • '/routes/api/exchanges.js' contains all the core server-side logic and request authentication
    • '/keys' folder has to contain firebase-admin SDK private key (firebase project console-->project settings-->service accounts)
  • 'android' folder contains relevant code for the one (and only) activity in the project (i.e. MainActivity)
    • MainActivity contains a WebView which loads the web app url

External resources/libraries

Author

License

This project is licensed under the MIT License.

NOTE: You must add your own firebase project configurations in the keys folders (in both '/client' and '/functions') to successfully deploy this project in your own environment.