AI Finance Tracker is a full-stack personal finance app that securely connects to bank accounts via Nordigen, automatically fetches transactions, and uses AI to categorize spending. Users can view analytics highlighting top spending categories, set budgets with real-time alerts, and interact with an AI assistant for personalized financial guidance. Premium subscriptions are managed seamlessly through Stripe, and all data is protected with JWT authentication and password hashing.
- Bank Integration - Connect European banks via Nordigen API
- AI Assistant - Chat with AI for financial advice using OpenRouter
- Budget Management - Set spending limits with email alerts
- Analytics - Visual spending insights and transaction categorization
- Stripe Subscriptions – Manage premium features and billing
- Secure - JWT authentication with password hashing
- Frontend: click here
- Backend: click here
- HTML5 - Semantic markup and modern web standards
- CSS3 - Responsive design with Bootstrap framework
- Vanilla JavaScript - Interactive user interface and API integration
- Bootstrap - Mobile-first responsive design system
- Node.js - JavaScript runtime for server-side development
- Express.js - Fast, unopinionated web framework
- MongoDB - NoSQL database for flexible data storage
- JWT - Secure authentication and authorization
- OpenRouter API - AI-powered financial insights and chat functionality
- Nordigen API - European banking integration and transaction data
- Stripe - Payment processing and subscription management
- Gmail SMTP - Email notifications and alerts
# Clone repository
git clone https://github.com/rabumaabraham/AI-Finance-Tracker.git
cd AI-Finance-Tracker
# Install dependencies
cd server && npm install
# Setup environment
cp env.example .env
# Add your API keys to .env
# Start server
npm run devRequired API Keys:
- MongoDB Atlas (database)
- Nordigen API (banking)
- OpenRouter API (AI features)
- Stripe (payments)
- Gmail SMTP (notifications)
Base URL: https://finance-tracker-tlss.onrender.com
- POST
/api/auth/signup- Register a new user account - POST
/api/auth/login- Authenticate user and return JWT token - GET
/api/auth/me- Get current user profile information
- GET
/api/nordigen/connect-bank- Initiate bank account connection process - GET
/api/nordigen/connected-banks- Retrieve all connected bank accounts - GET
/api/nordigen/transactions/:id- Fetch transactions for specific bank account
- GET
/api/analytics/combined- Get comprehensive financial overview - GET
/api/analytics/bank/:id- Retrieve analytics for specific bank account
- GET
/api/budgets- Fetch all user budgets - POST
/api/budgets- Create a new budget with spending limits - DELETE
/api/budgets/:id- Remove a specific budget
- POST
/api/ai-chat- Send message to AI for financial advice and insights
- Connect GitHub repo to Vercel
- Set output directory:
client - Deploy
- Connect GitHub repo to Render
- Add environment variables
- Set start command:
npm start - Deploy
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/example-feature - Commit your changes:
git commit -m 'Add example feature' - Push to the branch:
git push origin feature/example-feature - Open a Pull Request
MIT License - see LICENSE file for details.
- Email: iamrabuma@gmail.com
- Issues: GitHub Issues