This is a comprehensive financial management application that allows users to track their income, expenses, savings, investments, assets, bills, and financial goals. With an intuitive interface and powerful features, you can easily manage your personal finances and work towards your financial objectives.
- Dashboard overview of your financial status
- Income tracking with detailed source information
- Expense management categorized by type
- Savings tracker with easy update functionality
- Investment portfolio management
- Asset tracking and valuation
- Bill management with due date reminders
- Goal setting and progress tracking
- Customizable categories for various financial entries
- Data visualization for better financial insights
Follow these steps to set up the project on your local machine:
-
Clone the repository
git clone <repository-url> cd <repository-name>
-
Install dependencies
npm install
-
Set up environment variables
.env.example .env
Open the
.env
file and fill in the necessary variables. -
Create and set up the database
- Install PostgreSQL if not already installed
- Create a new database with a database provider
-
Run database migrations
npm prisma migrate
-
Start the development server
npm run dev
The application should now be running at http://localhost:3000
.
This project uses the T3 Stack:
Additional libraries:
- Lucide Icons
- shadcn/ui for UI components
components/
: Reusable React componentspages/
: Next.js pages and API routesserver/
: Server-side code, including tRPC routersutils/
: Utility functions and helperstypes/
: TypeScript type definitions
Outline.tsx
: Main dashboard componentNav.tsx
: Navigation componentIncomeCard.tsx
,ExpenseCard.tsx
, etc.: Individual financial entry componentsIncomeForm.tsx
,ExpensesForm.tsx
, etc.: Forms for adding new financial entries
The application uses tRPC for type-safe API routes. Key routers include:
income.ts
expenses.ts
savings.ts
investments.ts
assets.ts
bills.ts
goals.ts
The database schema is defined in prisma/schema.prisma
and includes models for User, Income, Expense, Savings, Investment, Asset, Bill, and Goal.
This app uses NextAuth.js for authentication, supporting the Google provider.
Project versioning follows Semantic Versioning and is tracked using GitHub Releases.
Please read our contributing guidelines before submitting pull requests.
For more detailed information about the project, please refer to the documentation or me.