Your Personal Finance Management Dashboard
The Personance dashboard application - a comprehensive personal finance management platform that helps you build wealth. Track your income, manage budgets, analyze assets vs liabilities, and progress toward financial independence with powerful insights and educational tools.
Note: This is the dashboard application. The landing page is hosted separately.
- Net Worth Tracking: Monitor your assets, liabilities, and overall financial health
- Cash Flow Analysis: Track income vs expenses with detailed breakdowns
- Financial Goals: Set and monitor progress toward financial independence
- Cash Flow Quadrant: Visualize income sources across Employee, Self-Employed, Business Owner, and Investor categories
- Assets vs Liabilities: Clear distinction between what puts money in vs takes money out of your pocket
- Passive Income Tracker: Monitor progress toward "escaping the rat race"
- Category-Based Budgets: Create and track spending across different categories
- Progress Monitoring: Visual indicators of budget health and spending patterns
- Recurring Transaction Management: Handle regular income and expenses
- Investment Tracking: Monitor stocks, real estate, and other assets
- Educational Content: Learn financial principles while managing your money
- Action Items: Specific steps to improve your financial position
- Node.js 18.17.0 or higher
- PostgreSQL database (we recommend Neon for easy setup)
- Git
git clone https://github.com/Tony-Rako/Personance.git
cd Personance
npm installCreate a .env file in the root directory:
# Database
DATABASE_URL="your_postgresql_connection_string"
# NextAuth.js
NEXTAUTH_SECRET="your_secret_key"
NEXTAUTH_URL="http://localhost:3000"
# OAuth Providers (optional)
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"# Generate Prisma client
npx prisma generate
# Run database migrations
npx prisma db push
# (Optional) Seed with sample financial data
npx prisma db seednpm run devOpen http://localhost:3000 to access your personal finance dashboard!
Personance is built with modern, robust technologies chosen for reliability, type safety, and excellent developer experience:
- Next.js 15 - React framework with App Router for optimal performance
- TypeScript - Type safety for financial calculations and data integrity
- Tailwind CSS - Utility-first CSS for responsive financial dashboards
- shadcn/ui - Beautiful, accessible UI components
- Recharts - Financial data visualization and charts
- Prisma 6.5 - Type-safe database ORM with migrations
- PostgreSQL - Reliable database for financial data (via Neon)
- tRPC 11 - End-to-end type safety for financial APIs
- NextAuth.js 5 - Secure authentication for financial data
- React Hook Form + Zod - Form validation for financial inputs
- Vitest - Testing framework for financial calculations
- ESLint + Prettier - Code quality and consistency
src/
βββ app/ # Next.js App Router
β βββ dashboard/ # Financial dashboard pages
β β βββ budgeting/ # Budget management
β β βββ wealth-building/ # Rich Dad Poor Dad features
β β βββ wealth/ # Net worth & investment tracking
β βββ auth/ # Authentication pages
β βββ api/ # tRPC API routes
βββ components/
β βββ dashboard/ # Financial overview components
β βββ budgeting/ # Budget-related components
β βββ wealth-building/ # Cash Flow Quadrant, Assets vs Liabilities
β βββ wealth/ # Investment & net worth components
β βββ ui/ # shadcn/ui base components
βββ server/
β βββ api/ # tRPC routers for financial operations
βββ lib/ # Financial utilities & calculations
βββ hooks/ # Custom React hooks for financial data
βββ types/ # TypeScript definitions for financial models
βββ prisma/ # Database schema & migrations
This structure separates financial concerns clearly, making it easy to extend and maintain wealth-building features.
npm run test # Run all tests
npm run test:watch # Run tests in watch mode
npm run test:ui # Run tests with UI
npm run type-check # TypeScript type checkingFinancial applications require robust testing for:
- Calculation Accuracy: Ensure financial math is precise
- Data Integrity: Validate financial transactions and balances
- User Security: Test authentication and data protection
- Component Reliability: UI components handle edge cases properly
npm run dev- Start development server with Turbopacknpm run build- Build the application for productionnpm run start- Start the production servernpm run lint- Run ESLint to check code qualitynpm run type-check- Run TypeScript compiler to check typesnpx prisma studio- Open database admin interfacenpx prisma db push- Apply schema changes to database
Database (Neon):
- Create account at neon.tech
- Create new project and get connection string
- Add
DATABASE_URLto your environment variables
Application (Netlify):
- Connect your GitHub repository to Coolify + VPS
- Configure environment variables in Coolify dashboard
- Deploy automatically on every push to main branch
Environment Variables for Production:
DATABASE_URL="your_neon_connection_string"
NEXTAUTH_SECRET="your_production_secret"
NEXTAUTH_URL="https://your-domain.netlify.app"Personance implements core concepts from Robert Kiyosaki's teachings:
- Assets vs Liabilities: Clear categorization of what puts money in vs takes money out
- Cash Flow Quadrant: Track progression from Employee β Self-Employed β Business Owner β Investor
- Passive Income Focus: Monitor income streams that don't require active work
- Financial Education: Learn while managing your money with integrated tips and insights
- Interactive Tutorials: Learn financial concepts while using the app
- Progress Tracking: See your journey toward financial independence
- Action Items: Specific steps to improve your financial position
- Educational Content: Rich Dad principles integrated throughout the interface
Financial data requires extra security considerations:
- Authentication: Secure user authentication with NextAuth.js
- Data Encryption: Sensitive financial data is properly encrypted
- Input Validation: All financial inputs are validated with Zod schemas
- Type Safety: TypeScript ensures data integrity throughout the application
- Database Security: PostgreSQL with proper access controls and migrations
- Open an issue on GitHub
- Describe financial use cases and requirements clearly
- Include relevant financial scenarios in bug reports
- Fork the repository
- Create a feature branch for your financial feature
- Ensure tests pass, especially financial calculations
- Submit a pull request with clear description of changes
Transform your financial future with Personance π°β¨