Skip to content

prvnbist/expenses

Repository files navigation

Expenses App

A self-hosted app built with Hasura/Postgres, NextJS/React, Apollo Client/GraphQL.

Status

Awake Action Dependencies Stars Github

Features

Transactions

Transactions

  • Transactions CRUD.
  • Listing of all credit/debit transactions in one place.
  • Filter by global search, category, payment method and account.
  • Sort by title, date, debit, credit, category, payment method and account. Multiple sort by is also supported.
  • Aggregate analytics for filtered transaction.
  • Pagination and go to page.
  • Delete multiple transactions at once.
  • Batch edit functionality.
Accounts

Accounts

  • Accounts CRUD.
  • Total expenses per account.
  • Total income per account.
  • Balance remaining.
  • Balance auto update on adding/updating/deleting transactions.
Reports

Reports

  • View monthly expenses by year.
  • View monthly incomes by year.
Analytics

Analytics

  • Metrics: total income, total expense, balance remaining.
  • Chart/Table View
    • Expenses by category, year and month.
    • Incomes by category, year and month.

Contribution

  1. Clone the repo locally.
> git clone https://github.com/prvnbist/expenses.git
  1. This project uses yarn, to isntall packages run:
> cd expenses
> yarn
  1. This project requires graphql endpoint to work. Simply create an .env file and add these variables. The endpoint urls provided link the app to graphql api served by hasura.
WS_GRAPHQL_ENDPOINT=wss://x-expense.herokuapp.com/v1/graphql
GRAPHQL_ENDPOINT=https://x-expense.herokuapp.com/v1/graphql
  1. To run the server, use following command and navigate to localhost:3000 in your browser.
> yarn dev

Contact

Reach out to my twitter or my email: prvnbist@gmail.com for further queries.