Open source personal finance application with Vue.js and Firebase

Open source personal finance application with Vue.js and Firebase

Finapp helps you to control personal finances easily and efficiently.

Open source finance application

Written with Vue.js and Firebase.

Finapp helps you to control personal finances easily and efficiently.

This is Finapp 2.0. For the 1.x see the classic branch.

Demo

  • https://themerise.com/
  • https://ilko.me/finapp/

Finapp 2.0.0

Futures and Technologies

  • Works offline on all devices (Service Worker): you can see all your data. Create, edit and delete transactions. (iOS is not supported yet)
  • Optimised for mobile and PC.
  • Themes: dark and white.
  • Support multiple currencies with auto conversion.
  • Instant synchronisation between all device (Firebase).

Setup

Project setup

# clone the repo
$ git clone https://github.com/ilkome/finapp.git finapp

# go into app's directory
$ cd finapp

# install app's dependencies
$ npm install

Firebase setup

  • Create a Firebase project in the Firebase console
  • Go to the Authentication tab and enable Google authentication.
  • Go to the Database tab and enable Firestore.
  • Select Realtime Database and go to Rules tab.
  • Change rules to:
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
        ".write": "auth != null && auth.uid == $uid"
      }
    },
    "currencies": {
      ".read": "auth != null",
      ".write": "auth != null"
    }
  }
}
  • Go to the Project Overview and click Add Firebase to your web app.
  • You need to replace config in app's directory /src/firebase.js with your properties.
apiKey: 'YOUR_CONFIG',
authDomain: 'YOUR_CONFIG',
databaseURL: 'YOUR_CONFIG',
projectId: 'YOUR_CONFIG',
storageBucket: 'YOUR_CONFIG',
messagingSenderId: 'YOUR_CONFIG'

Development

Compiles and hot-reloads

$ npm run dev

Production

Compiles and minifies for production

$ npm run build

Upload to server

You can add your FTP config in app's directory /src/ftp.config.js

# upload all files from dist folder
$ npm run upload

# upload only css, js, html files from dist folder
$ npm run upload-min

Stay In Touch

Github Repository

Tags: #VueJs #App