Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dogukanerzurum/finance
This project is a personal finance app to track income and expenses, categorize transactions, assign them to specific accounts, import transactions via CSV, and connect to bank accounts through Plaid.
https://github.com/dogukanerzurum/finance
bulk drizzle-orm honojs hooks-api-react nextjs14 shadcn-ui tailwindcss
Last synced: 7 days ago
JSON representation
This project is a personal finance app to track income and expenses, categorize transactions, assign them to specific accounts, import transactions via CSV, and connect to bank accounts through Plaid.
- Host: GitHub
- URL: https://github.com/dogukanerzurum/finance
- Owner: DogukanErzurum
- Created: 2024-10-09T20:39:06.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2024-10-27T19:46:27.000Z (about 2 months ago)
- Last Synced: 2024-10-27T23:26:49.095Z (about 2 months ago)
- Topics: bulk, drizzle-orm, honojs, hooks-api-react, nextjs14, shadcn-ui, tailwindcss
- Language: TypeScript
- Homepage:
- Size: 702 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Building a SaaS With Nextjs, React, Honojs Finance Project.
![3](https://github.com/user-attachments/assets/33944341-794d-48fc-a031-3f8b55680697)This project is a personal finance application that allows you to track your income and expenses, categorise transactions and assign them to specific accounts, transfer transactions to the project using a CSV file, and connect to your bank accounts through Plaid.
## 🎯 Project Features:
- 📊 **Interactive financial dashboard:** Allows users to view financial data with interactive charts.
- 🔁 **Changeable chart types:** Provides options to change chart types.
- 🗓 **Account and date filters:** Enables filtering by account and date
- 💹 **Detailed transactions table:** Displays a detailed transaction list in table format.
- ➕ **Form to add transactions:** Includes a form to add new transactions.
- 🧩 **Customizable select components:** Customizes selection components based on user preferences.
- 💵 **Income and expense toggle:** Switches between income and expense views.
- 🔄 **CSV transaction imports:** Allows importing transaction data in CSV format.
- 🔥 **API via Hono.js:** Provides a fast and reliable API with Hono.js.
- 🪝 **State management via Tanstack React Query:** Manages state with Tanstack React Query.
- 🔗 **Bank account connections with Plaid:** Allows connecting bank accounts via Plaid.
- 💳 **Premium upgrades via Lemon Squeezy:** Enables premium upgrades through Lemon Squeezy.
- 🔐 **Authentication via Clerk (Core 2):** Secures user authentication with Clerk Core 2.
- 🗑 **Bulk delete and search in transactions:** Supports bulk delete and search within transactions.
- ⚙️ **Bank disconnection and subscription management:** Manages bank disconnection and subscription settings.
- 👤 **User settings customization:** Allows customization of user settings.
- 🌐 **Built with Next.js 14:** Developed with Next.js 14.
- 🎨 **Styled with TailwindCSS and Shadcn UI:** Uses TailwindCSS and Shadcn UI for design.
- 💾 **PostgreSQL & Drizzle ORM:** Utilizes PostgreSQL as the database and Drizzle as the ORM.
## 🚀 Necessary:- **Node version:** 14.X
## 📝 Cloning the repository
Use the following command to clone the repository:
```shell
https://github.com/DogukanErzurum/finance.git
```## 📦 Installing Packages:
```shell
npm i
```## 🔐 Setup .env file
This is the section where the person hashes the registration status given by google github and my own system after registration. It is personalized!
```js
DATABASE_URL=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_ID=
GITHUB_SECRET=
NEXTAUTH_JWT_SECRET=
NEXTAUTH_SECRET=
```##💻 Start the app
npm run dev starts the application at localhost:3000.
```shell
npm run dev
```