Finapp helps you to control personal finances easily and efficiently.
- Works offline on all devices (Service Worker): you can see all your data. Create, edit and delete transactions.
- Instant synchronization between all device (Firebase).
- Optimized for mobile and PC.
- Themes: dark and light.
- Support multiple currencies with auto conversion.
- Vue
- Nuxt
- Tailwind
- Firebase
- PWA
# clone the repo
git clone https://github.com/ilkome/finapp.git finapp
# go into app"s directory
cd finapp
# install dependencies
pnpm i
- Create a Firebase project in the Firebase console
- Create Realtime Database
- Open 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"
},
"ratesUsd": {
".read": "auth != null",
".write": "auth != null"
}
}
}
- Go to the Project Overview and find
Get started by adding Firebase to your app
click toweb
. - Register an app and you will get your config.
- You need to replace config in app"s directory
services/firebase/config.js
with your config.
apiKey: "YOUR_CONFIG",
authDomain: "YOUR_CONFIG",
databaseURL: "YOUR_CONFIG",
projectId: "YOUR_CONFIG",
storageBucket: "YOUR_CONFIG",
messagingSenderId: "YOUR_CONFIG"
- Go to
Authentication
page - Click
Sign-in method
tab - Add
Add new provider
and select Google
- Go to
Authentication
page - Click
Sign-in method
tab - Scroll to
Authorized domains
and clickAdd domain
- Add your domain name
- Get your App ID at openexchangerates.org
- Rename
.env.example
to.env
- Set your App ID in
.env
OPEN_EXCHANGE_RATES=app_id
If you use netlify or similar services you need to add OPEN_EXCHANGE_RATES env.
pnpm dev
pnpm generate
Upload .output/public
folder to any shared hosting.