A funky, colorful, and AI-assisted expense tracking app that helps users manage their finances with style!
Expenzo is a Gen-Z themed expense tracker built for the 36-hour HeisenHack hackathon. It combines smart automation with a playful UI inspired by the HeisenHack poster aesthetic (yellow, teal, black, cartoon vibes).
- ๐ Smart Authentication - JWT-based secure login/register
- ๐ฐ Expense Management - Add, edit, delete, and filter expenses
- ๐ Visual Analytics - Interactive charts with Chart.js
- ๐ค AI Insights - Smart spending pattern analysis
- ๐ฅ Group Bills - Split expenses with friends
- ๐ฑ Mobile-First - Responsive design for all devices
- ๐จ Gen-Z Theme - Vibrant colors and funky animations
- ๐ Dark Mode - Toggle between light and dark themes
- React 18.2 + Vite - Lightning-fast development
- TailwindCSS - Utility-first styling with custom HeisenHack theme
- Chart.js + React-ChartJS-2 - Beautiful data visualizations
- React Router - Client-side routing
- Axios - HTTP client for API calls
- Framer Motion - Smooth animations
- React Hot Toast - Elegant notifications
- Node.js + Express.js - RESTful API server
- MongoDB + Mongoose - NoSQL database with ODM
- JWT + bcryptjs - Authentication and password hashing
- Express Rate Limit - API protection
- Helmet - Security middleware
- CORS - Cross-origin resource sharing
- OpenAI API - AI-powered expense insights
- Chart.js - Advanced data visualizations
HeisenHack-Inspired Color Palette:
- Primary:
#FFC300(Vibrant Yellow) ๐ก - Secondary:
#2ECCB0(Teal Green) ๐ข - Accent:
#00AEEF(Electric Blue) ๐ต - Dark Base:
#121212(Matte Black) โซ - Background:
#FFF8E7(Soft Cream) ๐จ
Typography:
- Headings: Bungee / Poppins ExtraBold
- Body: Inter / Nunito
UI Elements:
- Rounded cards with
border-radius: 1.5rem - Playful emojis and funky icons (๐ฐ๐๐๐)
- Light motion and hover animations
- Glow effects and shadows
EXPENZO/
โโโ backend/ # Node.js API Server
โ โโโ src/
โ โ โโโ models/ # Mongoose models
โ โ โโโ routes/ # Express routes
โ โ โโโ middleware/ # Custom middleware
โ โ โโโ utils/ # Helper functions
โ โ โโโ server.js # Main server file
โ โโโ .env # Environment variables
โ โโโ package.json # Backend dependencies
โ
โโโ frontend/ # React Application
โ โโโ src/
โ โ โโโ components/ # Reusable components
โ โ โโโ pages/ # Route components
โ โ โโโ context/ # React context providers
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ utils/ # Helper functions
โ โ โโโ main.jsx # App entry point
โ โโโ public/ # Static assets
โ โโโ tailwind.config.js # TailwindCSS configuration
โ โโโ package.json # Frontend dependencies
โ
โโโ README.md # Project documentation
- Node.js 18+ and npm
- MongoDB (local or Atlas)
- Git
git clone <your-repo-url>
cd EXPENZOcd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI and JWT secret
npm run devThe backend server will start on http://localhost:5000
cd ../frontend
npm install
npm run devThe frontend will start on http://localhost:5173
Create backend/.env:
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/expenzo
JWT_SECRET=your_super_secret_jwt_key_here
JWT_EXPIRE=7d
FRONTEND_URL=http://localhost:5173
BCRYPT_ROUNDS=12- Project Structure - Full-stack setup with React + Node.js
- Authentication System - JWT-based login/register
- Expense CRUD - Add, edit, delete, view expenses
- Dashboard - Summary cards and charts
- UI Components - Funky Gen-Z themed components
- Responsive Design - Mobile-first approach
- AI Insights - Smart spending analysis
- Group Bills - Split expenses with friends
- Chart Visualizations - Advanced analytics
- SMS Detection - Extract expenses from text
- Export Functionality - CSV/PDF reports
- Daily Reminders - Expense tracking notifications
- Budget Alerts - Smart spending limits
- Dark Mode - Theme toggle
POST /api/auth/register- Create new accountPOST /api/auth/login- User loginGET /api/auth/me- Get current userPOST /api/auth/logout- User logout
GET /api/expenses- Get user expensesPOST /api/expenses- Create new expensePUT /api/expenses/:id- Update expenseDELETE /api/expenses/:id- Delete expenseGET /api/expenses/stats- Get expense statistics
GET /api/groups- Get user groupsPOST /api/groups- Create new groupPOST /api/groups/:id/expenses- Add group expenseGET /api/groups/:id/settlements- Calculate settlements
GET /api/insights/summary- Spending summaryGET /api/insights/ai- AI-generated insights
- Navbar - Navigation with Expenzo branding
- ExpenseCard - Individual expense display
- ChartSection - Data visualization wrapper
- AddModal - Expense creation modal
- BudgetTracker - Progress visualization
- LoadingSpinner - Funky loading animation
- Button - Primary, secondary, outline variants
- Card - Rounded cards with hover effects
- Input - Fields with emoji placeholders
- Badge - Category and status indicators
cd frontend
npm run build
# Deploy to Vercelcd backend
# Deploy to Render or Railway- Create cluster on MongoDB Atlas
- Update connection string in
.env
- Landing Page - Showcase funky UI and branding
- Authentication - Quick register/login demo
- Add Expense - Show SMS detection feature
- Dashboard - Real-time chart updates
- AI Insights - Smart spending analysis
- Mobile View - Responsive design demo
- 36 hours of coding for HeisenHack 2024
- Gen-Z themed with emojis and vibrant colors
- Mobile-first design approach
- AI-powered expense insights
- Open source and hackathon-ready
This project was built for HeisenHack 2024. Feel free to fork, improve, and make it even more funky!
- PAARTH DUTTA - Full-Stack Development ๐จ
- [Add team members] - [Add roles]
โ
Frontend Server: Running on http://localhost:5175/
โ
Backend Server: Running on http://localhost:5000/
โ
Authentication: JWT-based auth system
โ
UI Components: Complete Gen-Z themed components
โ
Expense Management: Add/Edit/Delete/View expenses
โ
Chart Integration: Chart.js visualizations ready
MIT License - Built with ๐ for HeisenHack 2024