{"id":18850507,"url":"https://github.com/manthanank/expense-tracker-app","last_synced_at":"2025-04-14T09:22:25.180Z","repository":{"id":247993417,"uuid":"827386257","full_name":"manthanank/expense-tracker-app","owner":"manthanank","description":"Expense Tracker App","archived":false,"fork":false,"pushed_at":"2025-04-10T04:23:57.000Z","size":1290,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T11:55:24.148Z","etag":null,"topics":["angular","expense-tracker","expense-tracker-app","express","mongodb","nodejs","tailwindcss"],"latest_commit_sha":null,"homepage":"https://expense-tracker-app-manthanank.vercel.app","language":"HTML","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/manthanank.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},"funding":{"github":["manthanank"],"open_collective":"manthanank","buy_me_a_coffee":"manthanank","patreon":"manthanank"}},"created_at":"2024-07-11T14:55:18.000Z","updated_at":"2025-04-10T04:24:00.000Z","dependencies_parsed_at":"2024-10-19T01:06:15.447Z","dependency_job_id":null,"html_url":"https://github.com/manthanank/expense-tracker-app","commit_stats":null,"previous_names":["manthanank/expense-tracker-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manthanank%2Fexpense-tracker-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manthanank%2Fexpense-tracker-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manthanank%2Fexpense-tracker-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manthanank%2Fexpense-tracker-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manthanank","download_url":"https://codeload.github.com/manthanank/expense-tracker-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248852230,"owners_count":21171852,"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":["angular","expense-tracker","expense-tracker-app","express","mongodb","nodejs","tailwindcss"],"created_at":"2024-11-08T03:29:43.533Z","updated_at":"2025-04-14T09:22:25.172Z","avatar_url":"https://github.com/manthanank.png","language":"HTML","funding_links":["https://github.com/sponsors/manthanank","https://opencollective.com/manthanank","https://buymeacoffee.com/manthanank","https://patreon.com/manthanank"],"categories":[],"sub_categories":[],"readme":"# Expense Tracker App\n\nThis is a full-stack expense tracker application built with Node.js for the backend and Angular for the frontend. It allows users to sign up, log in, add, edit, delete, and filter expenses by date and category. The app includes AI-powered insights using Google's Gemini API.\n\n## Table of Contents\n\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Running the Application](#running-the-application)\n- [API Endpoints](#api-endpoints)\n- [Usage](#usage)\n- [License](#license)\n\n## Features\n\n- User authentication with JWT\n- Responsive landing page\n- Add, edit, delete, and view expenses\n- Filter expenses by date range and category\n- Total expenses calculation for different time periods (past week, last month, last 3 months, last 6 months, custom date range)\n- AI-powered expense analysis and personalized financial insights using Google Gemini API\n- Smart spending recommendations and budget health assessment\n- Expense visualization with charts and graphs\n- Forgot and reset password functionality\n- Visitor count tracking\n- Privacy policy and terms of service pages\n- Responsive design using Tailwind CSS\n\n## Technologies Used\n\n### Backend Technologies\n\n- Node.js \u0026 Express.js\n- MongoDB \u0026 Mongoose\n- JWT for authentication\n- Nodemailer for email functionality\n- Google Generative AI (Gemini) for financial insights\n- Swagger for API documentation\n- Express Rate Limiter \u0026 Helmet for security\n\n### Frontend Technologies\n\n- Angular 19\n- Tailwind CSS for styling\n- NGX Charts for data visualization\n- Font Awesome icons\n- Responsive design\n\n## Prerequisites\n\n- Node.js (v14.x or later)\n- Angular CLI (v19.x or later)\n- MongoDB (local or remote instance)\n- Google Gemini API key\n\n## Installation\n\n### Backend Setup\n\n1. Clone the repository:\n\n    ```sh\n    git clone https://github.com/manthanank/expense-tracker-app.git\n    cd expense-tracker-app/backend\n    ```\n\n2. Install dependencies:\n\n    ```sh\n    npm install\n    ```\n\n3. Create a `.env` file in the `backend` directory with the following content:\n\n    ```bash\n    PORT=5000\n    MONGO_URI=your_mongodb_connection_string\n    TOKEN_SECRET=your_jwt_secret\n    EMAIL_USER=your-email@gmail.com\n    EMAIL_PASS=your-email-password\n    GEMINI_API_KEY=your_gemini_api_key\n    ```\n\n4. Start the backend server:\n\n    ```sh\n    npm start\n\n### Frontend Setup\n\n1. Navigate to the frontend directory:\n\n    ```sh\n    cd expense-tracker-app\n    ```\n\n2. Install dependencies:\n\n    ```sh\n    npm install\n    ```\n\n3. Start the frontend server:\n\n    ```sh\n    ng serve\n    ```\n\n## Running the Application\n\n- The backend server will run on `http://localhost:5000`.\n- The frontend server will run on `http://localhost:4200`.\n- API documentation is available at `http://localhost:5000/api-docs`.\n\n## API Endpoints\n\n### Auth\n\n- **POST /api/auth/signup**: Create a new user\n- **POST /api/auth/login**: Authenticate a user and get a token\n- **POST /api/auth/forgot-password**: Send password reset email\n- **POST /api/auth/reset-password/:token**: Reset user password\n\n### Expenses\n\n- **GET /api/expenses**: Get all expenses for the logged-in user\n- **GET /api/expenses/:id**: Get an expense by ID\n- **POST /api/expenses**: Add a new expense\n- **PUT /api/expenses/:id**: Update an existing expense\n- **DELETE /api/expenses/:id**: Delete an expense\n\n### Insights\n\n- **GET /api/insights/ai**: Get AI-generated insights for expenses with optional filters\n  - Query Parameters:\n    - `startDate`: Filter expenses from this date\n    - `endDate`: Filter expenses until this date\n    - `category`: Filter by expense category\n\n## Usage\n\n1. **Sign Up**: Create a new account by navigating to the sign-up page.\n2. **Log In**: Log in with your credentials to access the expense tracker.\n3. **Forgot Password**: If you forget your password, use the forgot password link to reset it.\n4. **Reset Password**: Follow the instructions in the reset password email to set a new password.\n5. **Add Expense**: Use the form to add a new expense with amount, category, date, and description.\n6. **View Expenses**: View a list of all your expenses. Use the filter options to filter by date range and category.\n7. **Edit Expense**: Click on an expense to edit its details.\n8. **Delete Expense**: Click the delete button to remove an expense.\n9. **Get AI Insights**: Navigate to the insights section to get AI-powered analysis of your spending habits, including top spending categories, trends, anomalies, and personalized saving suggestions.\n10. **View Charts**: Explore visual representations of your spending patterns.\n\n## Deployment\n\nThe application is deployed on Vercel at: [https://expense-tracker-app-manthanank.vercel.app/](https://expense-tracker-app-manthanank.vercel.app/)\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Contact\n\nFor questions or feedback, please contact:\n\n- Email: [manthan.ank@gmail.com](mailto:manthan.ank@gmail.com)\n- GitHub: [manthanank](https://github.com/manthanank)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanthanank%2Fexpense-tracker-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanthanank%2Fexpense-tracker-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanthanank%2Fexpense-tracker-app/lists"}