Beethoven / NuxtApp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Open source finance application

Written with Vue and Firebase.

Finapp helps you to control personal finances easily and efficiently.

This is Finapp 3. For the 2.x see the 2 branch.

Demo

finapp.ilko.me

Screenshots

Finapp 2.0.0

Futures

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

Technologies

  • Vue
  • Nuxt
  • Stylus
  • Pug
  • 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"
    },
    "users-info": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
        ".write": "auth != null && auth.uid == $uid"
      }
    }
  }
}
  • 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 🤪

I would like to speak with you about Finapp. I'm interested in working on awesome projects.

About


Languages

Language:Vue 67.1%Language:JavaScript 24.7%Language:TypeScript 4.1%Language:Stylus 4.1%Language:CSS 0.0%