FinanceFlow is a comprehensive personal finance management application designed to help users track their income, expenses, budgets, goals, and investments. It features an AI-powered financial advisor to provide personalized insights and recommendations.
- Dashboard: Get a high-level overview of your financial health with interactive charts and summaries.
- Transactions: Track all your income and expenses in one place.
- Budgets: Set and manage monthly budgets for different categories.
- Goals: Create and track progress towards your financial goals.
- Investments: Monitor your investment portfolio and performance.
- AI Advisor: Chat with an AI-powered financial assistant for personalized advice and insights.
- Document Upload: Upload financial documents (like statements) for easy parsing and record-keeping.
- Secure Authentication: Robust user authentication and profile management including onboarding flow.
- React (v19)
- TypeScript
- Vite
- Tailwind CSS - For styling
- Recharts - For data visualization
- Lucide React - For icons
- Better Auth - For authentication
- Node.js
- Express.js
- MongoDB with Mongoose
- Better Auth (Server-side)
- Google Gemini API (
@google/genai) - For AI features
- Node.js (v18+ recommended)
- MongoDB (Local or Atlas)
-
Clone the repository:
git clone <repository-url> cd financeFlow
-
Install dependencies (Root/Frontend):
npm install
-
Install dependencies (Server):
cd server npm install cd ..
-
Environment Variables: Create a
.envfile in theserverdirectory and configure the following:PORT=3000 MONGODB_URI=mongodb://localhost:27017/financeflow GEMINI_API_KEY=your_gemini_api_key BETTER_AUTH_SECRET=your_auth_secret BETTER_AUTH_URL=http://localhost:3000
(Adjust values as per your setup)
-
Frontend Config: Ensure the frontend is pointing to the correct backend URL (default is usually sufficient for local dev).
-
Start the Backend Server: Open a terminal and run:
cd server npm run dev -
Start the Frontend: Open a new terminal window/tab and run:
npm run dev
-
Access the App: Open your browser and navigate to the URL shown in the Vite output (typically
http://localhost:5173).
This project is licensed under the ISC License.