Skip to content

A local-first personal finance application using GraphQL and Vue

Notifications You must be signed in to change notification settings

cjscheller/quan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quan

Quan - Jerry Maguire

A local-first personal finance application. Includes a GraphQL API for interacting with personal finance information stored in a local SQLite DB, as well as a Vue front-end app.

Development

Prerequisites

Database Initialization

The app uses a local SQLite database, and connection to the database is managed using the Sequelize ORM.

To initialize the database, run the following commands to create and seed:

sqlite3 db/quan.sqlite < db/create.sql
sqlite3 db/quan.sqlite < db/seed.sql

GraphQL API

To start the GraphQL API, run the following from the project root:

npm run api

The GraphQL schema is available at schema.js. The app uses the Apollo GraphQL server and client libraries.

When the GraphQL API is running, access the Apollo GraphQL Playground at localhost:4000/graphql

Vue App

To start the Vue front-end app, run the following from the project root:

cd quan-vue
npm run serve

Vue app screenshot

Alternatively, run both back-end and front-end for development simultaneously with:

npm run dev

Importing transactions

To import transaction data into the app, it's easiest to use the Import functionality available on the Transactions page in the Vue front-end app. The import file should be in CSV format with the header (column data) as first row and transactions starging in the second row.

To-do:

Planned features include:

  • Plaid integration for automatically importing transactions
  • A Summary view showing monthly and YTD summary of total spending, including per category spending.
  • A rudimentary Venmo scraper for importing Venmo data
  • UI improvements
  • Continue investing building Vue app as Tauri desktop application
  • Explore building app in Flutter

About

A local-first personal finance application using GraphQL and Vue

Resources

Stars

Watchers

Forks

Releases

No releases published