Skip to content
DUTTAPAARTHPublic

About

A modern expense tracking application built with React and Node.js

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ธ Expenzo - Track Smart. Spend Bold!

Gen-Z Themed Smart Expense Tracker for HeisenHack 2024

A funky, colorful, and AI-assisted expense tracking app that helps users manage their finances with style!

Made for HeisenHack React Node.js MongoDB


๐ŸŽฏ About Expenzo

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).

โœจ Key Features

  • ๐Ÿ” 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

๐Ÿงฑ Tech Stack

Frontend

  • 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

Backend

  • 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

Optional Integrations

  • OpenAI API - AI-powered expense insights
  • Chart.js - Advanced data visualizations

๐ŸŽจ Design Theme

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

๐Ÿ“ฆ Project Structure

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

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • MongoDB (local or Atlas)
  • Git

1. Clone & Setup

git clone <your-repo-url>
cd EXPENZO

2. Backend Setup

cd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI and JWT secret
npm run dev

The backend server will start on http://localhost:5000

3. Frontend Setup

cd ../frontend
npm install
npm run dev

The frontend will start on http://localhost:5173

4. Environment Variables

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

๐Ÿงฉ Features Implementation

โœ… Completed Features

  1. Project Structure - Full-stack setup with React + Node.js
  2. Authentication System - JWT-based login/register
  3. Expense CRUD - Add, edit, delete, view expenses
  4. Dashboard - Summary cards and charts
  5. UI Components - Funky Gen-Z themed components
  6. Responsive Design - Mobile-first approach

๐Ÿšง In Progress

  • AI Insights - Smart spending analysis
  • Group Bills - Split expenses with friends
  • Chart Visualizations - Advanced analytics
  • SMS Detection - Extract expenses from text

๐Ÿ“ Planned Features

  • Export Functionality - CSV/PDF reports
  • Daily Reminders - Expense tracking notifications
  • Budget Alerts - Smart spending limits
  • Dark Mode - Theme toggle

๐ŸŽช API Endpoints

Authentication

  • POST /api/auth/register - Create new account
  • POST /api/auth/login - User login
  • GET /api/auth/me - Get current user
  • POST /api/auth/logout - User logout

Expenses

  • GET /api/expenses - Get user expenses
  • POST /api/expenses - Create new expense
  • PUT /api/expenses/:id - Update expense
  • DELETE /api/expenses/:id - Delete expense
  • GET /api/expenses/stats - Get expense statistics

Groups

  • GET /api/groups - Get user groups
  • POST /api/groups - Create new group
  • POST /api/groups/:id/expenses - Add group expense
  • GET /api/groups/:id/settlements - Calculate settlements

Insights

  • GET /api/insights/summary - Spending summary
  • GET /api/insights/ai - AI-generated insights

๐ŸŽจ Component Library

Core Components

  • Navbar - Navigation with Expenzo branding
  • ExpenseCard - Individual expense display
  • ChartSection - Data visualization wrapper
  • AddModal - Expense creation modal
  • BudgetTracker - Progress visualization
  • LoadingSpinner - Funky loading animation

UI Elements

  • Button - Primary, secondary, outline variants
  • Card - Rounded cards with hover effects
  • Input - Fields with emoji placeholders
  • Badge - Category and status indicators

๐Ÿš€ Deployment

Frontend (Vercel)

cd frontend
npm run build
# Deploy to Vercel

Backend (Render/Railway)

cd backend
# Deploy to Render or Railway

Database (MongoDB Atlas)

  • Create cluster on MongoDB Atlas
  • Update connection string in .env

๐ŸŽฏ Hackathon Demo Script

  1. Landing Page - Showcase funky UI and branding
  2. Authentication - Quick register/login demo
  3. Add Expense - Show SMS detection feature
  4. Dashboard - Real-time chart updates
  5. AI Insights - Smart spending analysis
  6. Mobile View - Responsive design demo

๐ŸŽŠ Fun Facts

  • 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

๐Ÿค Contributing

This project was built for HeisenHack 2024. Feel free to fork, improve, and make it even more funky!

Team

  • PAARTH DUTTA - Full-Stack Development ๐ŸŽจ
  • [Add team members] - [Add roles]

๐ŸŽฎ Demo Status

โœ… 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
โš ๏ธ Database: Requires MongoDB setup for full functionality


๐Ÿ“„ License

MIT License - Built with ๐Ÿ’– for HeisenHack 2024


๐Ÿ’ธ Track Smart. Spend Bold! ๐ŸŽฏ

Made with โ˜• and lots of ๐ŸŽต during HeisenHack 2024

About

A modern expense tracking application built with React and Node.js

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages