A self-hosted app built with Hasura/Postgres, NextJS/React, Apollo Client/GraphQL.
- 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 CRUD.
- Total expenses per account.
- Total income per account.
- Balance remaining.
- Balance auto update on adding/updating/deleting transactions.
- View monthly expenses by year.
- View monthly incomes by year.
- Metrics: total income, total expense, balance remaining.
- Chart/Table View
- Expenses by category, year and month.
- Incomes by category, year and month.
- Clone the repo locally.
> git clone https://github.com/prvnbist/expenses.git
- This project uses yarn, to isntall packages run:
> cd expenses
> yarn
- 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
- To run the server, use following command and navigate to
localhost:3000
in your browser.
> yarn dev
Reach out to my twitter or my email: prvnbist@gmail.com for further queries.