{"id":29551614,"url":"https://github.com/pranav128/expensezen","last_synced_at":"2025-09-02T03:36:56.523Z","repository":{"id":302777610,"uuid":"1013387666","full_name":"Pranav128/expensezen","owner":"Pranav128","description":"ExpenseZen is a modern, intuitive, and secure web application designed to help you effortlessly track your daily expenses.","archived":false,"fork":false,"pushed_at":"2025-07-06T14:16:49.000Z","size":3571,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-06T15:20:33.998Z","etag":null,"topics":["expense-tracker","finance-management","fullstack-development","money-management","mongodb","nextjs","reactjs","tailwindcss","transa"],"latest_commit_sha":null,"homepage":"https://expense-tracker-eight-flax.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pranav128.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-03T20:18:38.000Z","updated_at":"2025-07-06T14:27:14.000Z","dependencies_parsed_at":"2025-07-06T15:20:41.836Z","dependency_job_id":"db3232be-47e1-459d-8045-429074cdd837","html_url":"https://github.com/Pranav128/expensezen","commit_stats":null,"previous_names":["pranav128/expense","pranav128/expensezen"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pranav128/expensezen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pranav128%2Fexpensezen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pranav128%2Fexpensezen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pranav128%2Fexpensezen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pranav128%2Fexpensezen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pranav128","download_url":"https://codeload.github.com/Pranav128/expensezen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pranav128%2Fexpensezen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265701486,"owners_count":23813752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expense-tracker","finance-management","fullstack-development","money-management","mongodb","nextjs","reactjs","tailwindcss","transa"],"created_at":"2025-07-18T04:38:20.267Z","updated_at":"2025-09-02T03:36:56.516Z","avatar_url":"https://github.com/Pranav128.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💰 ExpenseZen: Your Personal Finance Tracker\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](/License)\n[![Next.js](https://img.shields.io/badge/Next.js-15.3.3-black?logo=next.js)](https://nextjs.org/)\n[![MongoDB](https://img.shields.io/badge/MongoDB-8.5.1-green?logo=mongodb)](https://www.mongodb.com/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?logo=typescript)](https://www.typescriptlang.org/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.0-38B2AC?logo=tailwind-css)](https://tailwindcss.com/)\n\nExpenseZen is a **modern, intuitive, and secure** web application designed to help you effortlessly track your daily expenses, gain insights into your spending habits, and take control of your financial health. Built with cutting-edge technologies including **Next.js 15**, **MongoDB**, **TypeScript**, and **Tailwind CSS**, ExpenseZen provides a seamless user experience from signup to detailed financial analysis.\n\n## Live Demo\n\n**[Access the Live Demo](https://expense-tracker-eight-flax.vercel.app/)** \u0026nbsp; \n\n---\n\n## ✨ Features\n\n### 🔐 **Authentication \u0026 Security**\n- **Secure User Authentication**: Robust login and signup functionality using JWT (JSON Web Tokens)\n- **Password Reset**: Secure password recovery via email\n- **Protected Routes**: Authenticated access to all financial data\n\n### 📊 **Smart Dashboard**\n- **5 Key Metrics Cards**: \n  - 💰 Monthly Total Expenses\n  - 📈 Average Transaction Amount\n  - 🧾 Transaction Count\n  - 🏆 Top Spending Category\n  - 📅 Daily Average Spending\n- **Interactive Charts**: Dynamic pie charts and bar graphs for spending visualization\n- **Month Selector**: Easy navigation between different months\n- **Real-time Updates**: All metrics update instantly when data changes\n\n### 💸 **Expense Management**\n- **Intuitive Expense Logging**: Quick expense entry with smart form validation\n- **AI-Powered Category Suggestions**: Get intelligent category recommendations using Google AI\n- **8 Predefined Categories**: Housing, Transportation, Food, Utilities, Insurance, Healthcare, Saving \u0026 Investing, Personal Spending\n- **CRUD Operations**: Create, read, update, and delete expenses seamlessly\n- **Date \u0026 Amount Validation**: Ensures data accuracy and consistency\n\n### 📈 **Analytics \u0026 Insights**\n- **Category Breakdown**: Visual representation of spending by category\n- **Monthly Trends**: Track spending patterns over time\n- **Daily Spending Analysis**: Understand your daily spending habits\n- **Top Category Insights**: Identify your highest spending areas\n\n### 🔧 **Advanced Features**\n- **Data Export**: Export filtered expense data to CSV format\n- **Advanced Filtering**: Filter by date range, category, and amount\n- **Search Functionality**: Quick search through transaction history\n- **Responsive Design**: Optimized for desktop, tablet, and mobile devices\n\n### 👤 **User Experience**\n- **Profile Management**: Update email and upload custom profile pictures\n- **Contact System**: Built-in contact form with email integration\n- **Help \u0026 Support**: Comprehensive help documentation\n- **Modern UI**: Clean, intuitive interface built with Tailwind CSS and Radix UI\n\n---\n\n## Screenshots\n\nHere's a sneak peek into the ExpenseZen application:\n\n| Dashboard | Transaction History |\n| :---: | :---: |\n| \u003cimg src=\"docs\\screenshots\\desktop-view.png\" alt=\"ExpenseZen Dashboard Desktop\"/\u003e  | \u003cimg src=\"docs\\screenshots\\expenses.png\" alt=\"Transactions and add new Expense\"/\u003e  |\n\n| Mobile View | User Dropdown |\n| :---: | :---: |\n| \u003cimg src=\"docs\\screenshots\\mobile-view.png\" alt=\"ExpenseZen Dashboard Mobile\"/\u003e  | \u003cimg src=\"docs\\screenshots\\desktop-view-user_dropdown.png\" alt=\"ExpenseZen Dashboard User\" /\u003e  |\n\n| Login | Signup |\n| :---: | :---: |\n| \u003cimg src=\"docs\\screenshots\\login.png\" alt=\"Login Page\"/\u003e  | \u003cimg src=\"docs\\screenshots\\signup.png\" alt=\"Signup Page\"/\u003e  |\n\n| Update Expense | About |\n| :---: | :---: |\n| \u003cimg src=\"docs\\screenshots\\update-expense.png\" alt=\"Update expense Page\"/\u003e  | \u003cimg src=\"docs\\screenshots\\about.png\" alt=\"About Page\"/\u003e  |\n\n| Contact  | Contact |\n| :---: | :---: |\n| \u003cimg src=\"docs\\screenshots\\contact.png\" alt=\"Update expense Page\"/\u003e  | \u003cimg src=\"docs\\screenshots\\contact-map.png\" alt=\"About Page\"/\u003e  |\n\n| Help and Support   | Page |\n| :---: | :---: |\n| \u003cimg src=\"docs\\screenshots\\help-support.png\" alt=\"help-support Page\"/\u003e  | \u003cimg src=\"docs\\screenshots\\help-support-2.png\" alt=\"help-support Page\"/\u003e  |\n\n- For more screenshots [Click here](/docs/screenshots/)\n---\n\n## 🛠️ Tech Stack\n\n### **Frontend**\n- **[Next.js 15.3.3](https://nextjs.org/)** - React framework with App Router\n- **[React 18.3.1](https://reactjs.org/)** - UI library with hooks and context\n- **[TypeScript 5](https://www.typescriptlang.org/)** - Type-safe JavaScript\n- **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first CSS framework\n- **[Radix UI](https://www.radix-ui.com/)** - Accessible component primitives\n- **[Recharts](https://recharts.org/)** - Data visualization library\n\n### **Backend**\n- **[Next.js API Routes](https://nextjs.org/docs/api-routes/introduction)** - Serverless API endpoints\n- **[MongoDB 8.5.1](https://www.mongodb.com/)** - NoSQL database\n- **[Mongoose](https://mongoosejs.com/)** - MongoDB object modeling\n- **[JWT](https://jwt.io/)** - JSON Web Tokens for authentication\n- **[bcrypt.js](https://www.npmjs.com/package/bcryptjs)** - Password hashing\n\n### **AI Integration**\n- **[Google AI \u0026 Genkit](https://firebase.google.com/docs/genkit)** - AI-powered category suggestions\n- **Smart categorization** - Automatic expense category detection\n\n### **Development \u0026 Deployment**\n- **[Vercel](https://vercel.com/)** - Deployment platform\n- **[ESLint](https://eslint.org/)** - Code linting\n- **[Prettier](https://prettier.io/)** - Code formatting\n- **Environment Variables** - Secure configuration management\n\n---\n\n## 🚀 Getting Started\n\nFollow these instructions to get a local copy up and running.\n\n### 📋 Prerequisites\n\n- **[Node.js](https://nodejs.org/en/)** (v18 or newer recommended)\n- **[MongoDB](https://www.mongodb.com/try/download/community)** instance (local or cloud-hosted, e.g., MongoDB Atlas)\n- **Email account** configured to send emails (required for \"Forgot Password\" functionality)\n- **Google Cloud project** with Genkit set up (for AI features)\n\n### ⚡ Quick Start\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/Pranav128/expensezen.git\n   cd expensezen\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables:**\n   Create a `.env` file in the root directory:\n   ```env\n   # Database Configuration\n   MONGODB_URI=\"mongodb+srv://\u003cuser\u003e:\u003cpassword\u003e@\u003ccluster-url\u003e/\u003cdatabase-name\u003e?retryWrites=true\u0026w=majority\"\n\n   # Authentication\n   JWT_SECRET=\"your_super_secret_jwt_key_here\"\n   \n   # Email Configuration (for contact forms and password reset)\n   EMAIL_SERVICE=\"gmail\"\n   EMAIL_USER=\"your-email@gmail.com\"\n   EMAIL_PASSWORD=\"your-app-password\"\n   CONTACT_EMAIL=\"your-contact-email@gmail.com\"\n   ```\n\n4. **Start the development server:**\n   ```bash\n   npm run dev\n   ```\n   \n   🎉 **Your app is now running at** `http://localhost:9002`\n\n### 🔧 Available Scripts\n\n```bash\n# Development server\nnpm run dev\n\n# Production build\nnpm run build\n\n# Start production server\nnpm start\n\n# Type checking\nnpm run typecheck\n\n# Linting\nnpm run lint\n\n# AI development (Genkit)\nnpm run genkit:dev\n```\n\n### 📧 Email Setup (Gmail)\n\nFor Gmail users, you'll need an **App Password**:\n1. Enable 2-Step Verification on your Google account\n2. Generate an App Password at [myaccount.google.com/apppasswords](https://myaccount.google.com/apppasswords)\n3. Use the App Password in your `.env` file\n\n---\n\n## 📁 Project Structure\n\n```\nexpense-tracker/\n├── src/\n│   ├── app/                 # Next.js App Router\n│   │   ├── api/            # API routes\n│   │   ├── login/          # Authentication pages\n│   │   └── ...\n│   ├── components/         # Reusable UI components\n│   │   ├── ui/            # Base UI components\n│   │   ├── expense-dashboard.tsx\n│   │   └── ...\n│   ├── models/            # MongoDB schemas\n│   ├── hooks/             # Custom React hooks\n│   ├── lib/               # Utility functions\n│   ├── types/             # TypeScript definitions\n│   └── ai/                # AI integration\n├── public/                # Static assets\n├── docs/                  # Documentation \u0026 screenshots\n└── ...\n```\n\n---\n\n## 🎯 Key Features Breakdown\n\n### Dashboard Analytics\n- **5 Metric Cards**: Comprehensive financial overview\n- **Interactive Charts**: Visual spending analysis\n- **Month Navigation**: Easy period selection\n- **Real-time Updates**: Instant data refresh\n\n### Expense Management\n- **Smart Forms**: Intuitive expense entry\n- **AI Categories**: Intelligent categorization\n- **CRUD Operations**: Full expense lifecycle\n- **Data Validation**: Ensures accuracy\n\n### User Experience\n- **Responsive Design**: Works on all devices\n- **Fast Performance**: Optimized loading times\n- **Secure Authentication**: JWT-based security\n- **Modern UI**: Clean, professional interface\n\n---\n\n## 🤝 Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n---\n\n## 📞 Contact\n\n**Pranav Patel** - [GitHub](https://github.com/Pranav128)\n\n**Project Link**: [https://github.com/Pranav128/expensezen](https://github.com/Pranav128/expensezen)\n\n**Live Demo**: [https://expense-tracker-eight-flax.vercel.app/](https://expense-tracker-eight-flax.vercel.app/)\n\n---\n\n## 🙏 Acknowledgments\n\n- [Next.js](https://nextjs.org/) for the amazing React framework\n- [MongoDB](https://www.mongodb.com/) for the flexible database solution\n- [Tailwind CSS](https://tailwindcss.com/) for the utility-first CSS framework\n- [Radix UI](https://www.radix-ui.com/) for accessible component primitives\n- [Google AI](https://ai.google/) for intelligent category suggestions\n- [Vercel](https://vercel.com/) for seamless deployment\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cstrong\u003e⭐ Star this repository if you found it helpful! ⭐\u003c/strong\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranav128%2Fexpensezen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpranav128%2Fexpensezen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranav128%2Fexpensezen/lists"}