A comprehensive full-stack expense tracking application with advanced analytics, goal tracking, automated recurring transactions, real-time notifications, and intelligent expense management.
- Dashboard: Real-time expense overview with interactive charts and quick actions
- Expense Management: Add, categorize, and track expenses with receipt upload
- Budget Tracking: Set budgets by category with real-time progress monitoring
- Expense Splits: Share expenses with friends and groups with settlement tracking
- Advanced Analytics: Interactive charts, trend analysis, and spending insights
- π― Goals Tracking: Set and track financial goals with milestones and progress monitoring
- π Recurring Transactions: Automated recurring transaction management with scheduling
- π Real-time Notifications: Push notifications with Socket.IO integration and priority filtering
- π Enhanced Analytics: Advanced analytics dashboard with multiple chart types and insights
- π° Smart Budget Management: Category-based budgets with real-time alerts and tracking
- π Data Export System: Comprehensive export functionality with multiple formats (CSV, JSON, PDF, ZIP)
- π System Status Dashboard: Real-time system health monitoring and API status tracking
- Next.js 14 with App Router
- TypeScript for type safety
- Tailwind CSS for styling
- shadcn/ui components library
- Recharts for data visualization
- Socket.IO Client for real-time updates
- Node.js with Express.js
- MongoDB with Mongoose ODM
- JWT authentication
- Socket.IO for real-time features
- Nodemailer for email notifications
- Multer for file uploads
- Node-cron for scheduling
- Lucide React for icons
- React Hook Form for form handling
- Zod for validation
- Date-fns for date manipulation
- Sonner for toast notifications
βββ app/ # Next.js app directory
β βββ dashboard/ # Dashboard page
β βββ expenses/ # Expense management pages
β βββ budget/ # Budget tracking page
β βββ goals/ # Goals tracking page (NEW)
β βββ recurring/ # Recurring transactions page (NEW)
β βββ notifications/ # Notifications center page (NEW)
β βββ analytics/ # Enhanced analytics page (UPDATED)
β βββ exports/ # Data export page (NEW)
β βββ splits/ # Expense splitting page
β βββ system-status/ # System status dashboard (NEW)
β βββ auth/ # Authentication pages
β
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ charts/ # Chart components
β βββ NotificationCenter.tsx # Real-time notifications (NEW)
β βββ GoalsTracking.tsx # Financial goals management (NEW)
β βββ RecurringTransactions.tsx # Recurring transactions (NEW)
β βββ AnalyticsDashboard.tsx # Advanced analytics (NEW)
β βββ BudgetManagement.tsx # Enhanced budgets (NEW)
β βββ ExportDashboard.tsx # Data export system (NEW)
β βββ ModernSidebar.tsx # Updated navigation (UPDATED)
β βββ ModernTopBar.tsx # Updated top bar (UPDATED)
β βββ DashboardLayout.tsx # Layout wrapper
β
βββ server/ # Backend server
β βββ controllers/ # API controllers
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ middleware/ # Express middleware
β βββ utils/ # Utility functions
β βββ services/ # Business logic services
β
βββ lib/ # Frontend utilities
β βββ api.ts # API client (50+ methods)
β βββ utils.ts # Helper functions
β
βββ contexts/ # React contexts
βββ AuthContext.tsx # Authentication context
- Real-time Socket.IO integration
- Priority-based notification filtering
- Mark as read/unread functionality
- Push notification support
- Notification history and management
- Financial goal creation and editing
- Progress tracking with visual indicators
- Milestone notifications
- Goal categorization and analytics
- Target date management
- Automated transaction scheduling
- Pause/resume functionality
- Multiple frequency options (daily, weekly, monthly, yearly)
- Next execution date tracking
- Recurring transaction history
- Interactive Recharts integration
- Multiple analytics tabs (Overview, Trends, Categories, Insights)
- Spending velocity tracking
- Category analysis with insights
- Export functionality for analytics data
- Category-based budget allocation
- Real-time spending tracking
- Budget alerts and notifications
- Progress visualization
- Budget vs actual spending comparison
- Multi-format data export (CSV, JSON, PDF, ZIP)
- Export history tracking
- Filtered export options
- Scheduled export functionality
- Download progress tracking
The application includes 50+ API endpoints covering:
- Authentication (login, register, refresh)
- Expense management (CRUD operations)
- Budget tracking and management
- Split expense functionality
- Goals API: Goal CRUD, progress tracking, analytics
- Recurring API: Transaction scheduling, automation
- Notifications API: Real-time notifications, settings
- Analytics API: Advanced analytics, trends, insights
- Export API: Data export in multiple formats
- System API: Health checks, status monitoring
- Socket.IO Integration: Real-time notifications and updates
- Live Data Updates: Automatic data refresh across components
- Push Notifications: Browser push notification support
- Real-time Charts: Live updating analytics charts
- System Health Monitoring: Real-time system status tracking
All components are built with mobile-first design:
- Responsive grid layouts
- Touch-friendly interfaces
- Mobile navigation optimization
- Swipe gestures support
- Progressive Web App features
- Modern Design: Glass morphism and gradient effects
- Dark Mode Support: System theme integration
- Animations: Smooth transitions and micro-interactions
- Accessibility: ARIA labels and keyboard navigation
- Toast Notifications: Real-time feedback system
-
Clone the repository
git clone [repository-url] cd smart-expense-tracker -
Install dependencies
# Frontend dependencies npm install # Backend dependencies cd server npm install
-
Environment Variables
# Frontend (.env.local) NEXT_PUBLIC_API_URL=http://localhost:5000 NEXT_PUBLIC_SOCKET_URL=http://localhost:5000 # Backend (.env) MONGODB_URI=mongodb://localhost:27017/expense-tracker JWT_SECRET=your-jwt-secret SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASS=your-app-password
-
Start the development servers
# Terminal 1: Start backend server cd server npm run dev # Terminal 2: Start frontend npm run dev
-
Access the application
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5000 - System Status:
http://localhost:3000/system-status
- Frontend:
# Start all services
./start-app.bat # Windows (All services)
./start-frontend.bat # Frontend only
./start-server.bat # Backend only- Build the frontend:
npm run build - Start the backend:
cd server && npm start - Configure environment variables for production
- Set up MongoDB connection
- Configure email service (SMTP)
Access the System Status Dashboard at /system-status to monitor:
- Overall system health (95%+)
- Frontend/Backend status
- Database connectivity
- API endpoint health
- Real-time integration status
- Module status and versions
- Component Testing: Test all new React components
- API Testing: Test all 50+ API endpoints
- Integration Testing: Test Socket.IO and real-time features
- Mobile Testing: Test responsive design on various devices
- Performance Testing: Monitor loading times and responsiveness
- JWT-based authentication
- Password hashing with bcrypt
- Input validation and sanitization
- CORS configuration
- Rate limiting
- SQL injection prevention
- XSS protection
- Lazy loading of components
- Image optimization
- API response caching
- Database query optimization
- Bundle splitting
- Service worker for PWA features
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit changes:
git commit -am 'Add new feature' - Push to branch:
git push origin feature/new-feature - Submit a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- β Real-time Notification Center with Socket.IO
- β Comprehensive Goals Tracking System
- β Automated Recurring Transactions
- β Advanced Analytics Dashboard with Recharts
- β Enhanced Budget Management System
- β Multi-format Data Export System
- β System Status Monitoring Dashboard
- β Updated Navigation with all new pages
- β Mobile-responsive design for all components
- β Real-time updates across all modules
- β 6 new React components with TypeScript
- β 5 new pages with complete functionality
- β 50+ API endpoints with comprehensive coverage
- β Socket.IO real-time integration
- β Enhanced UI/UX with modern design patterns
- β Comprehensive error handling and loading states
- β Mobile-first responsive design
Budget Baba - Your comprehensive solution for intelligent expense management with advanced analytics, goal tracking, and real-time features.