{"id":29092161,"url":"https://github.com/athulrajhere/spendwise-expensetracker-react-redux","last_synced_at":"2026-04-08T23:31:17.442Z","repository":{"id":301641506,"uuid":"1009867865","full_name":"athulrajhere/SpendWise-ExpenseTracker-React-Redux","owner":"athulrajhere","description":"SpendWise is a MERN full-stack expense tracker that helps users monitor and manage their financial activities. It features intuitive dashboards, analytics, account management, and secure user authentication — all designed to provide a smooth and insightful financial tracking experience. Built with React (Vite) and Redux Toolkit on the frontend.","archived":false,"fork":false,"pushed_at":"2025-06-27T23:03:06.000Z","size":25925,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-28T00:18:12.457Z","etag":null,"topics":["chartjs","dashboard","data-visualization","expense-manager","expense-tracker","express","framer-motion","fullstack-app","jwt-authentication","mern-project","mern-stack","mern-stack-app","mongodb","mongoose","nodejs","personal-finance","react","redux-toolkit","typescript","vite"],"latest_commit_sha":null,"homepage":"","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/athulrajhere.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-06-27T21:22:56.000Z","updated_at":"2025-06-27T23:03:10.000Z","dependencies_parsed_at":"2025-06-28T00:28:21.776Z","dependency_job_id":null,"html_url":"https://github.com/athulrajhere/SpendWise-ExpenseTracker-React-Redux","commit_stats":null,"previous_names":["athulrajhere/spendwise-expensetracker-react-redux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/athulrajhere/SpendWise-ExpenseTracker-React-Redux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athulrajhere%2FSpendWise-ExpenseTracker-React-Redux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athulrajhere%2FSpendWise-ExpenseTracker-React-Redux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athulrajhere%2FSpendWise-ExpenseTracker-React-Redux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athulrajhere%2FSpendWise-ExpenseTracker-React-Redux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/athulrajhere","download_url":"https://codeload.github.com/athulrajhere/SpendWise-ExpenseTracker-React-Redux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athulrajhere%2FSpendWise-ExpenseTracker-React-Redux/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262389457,"owners_count":23303341,"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":["chartjs","dashboard","data-visualization","expense-manager","expense-tracker","express","framer-motion","fullstack-app","jwt-authentication","mern-project","mern-stack","mern-stack-app","mongodb","mongoose","nodejs","personal-finance","react","redux-toolkit","typescript","vite"],"created_at":"2025-06-28T07:03:18.779Z","updated_at":"2026-04-08T23:31:15.771Z","avatar_url":"https://github.com/athulrajhere.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpendWise - Expense Tracker\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/dashboard_page.png\" alt=\"SpendWise Banner\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\nSpendWise is a full-stack expense tracker application built using the MERN stack (MongoDB, Express.js, React, Node.js). The frontend is powered by React (Vite) and the backend by Node.js/Express with MongoDB. It uses Redux for state management and helps users manage their finances, track expenses, and visualize spending patterns with modern charts and analytics.\n\n## Features\n- JWT-Based Authentication with secure access and refresh token handling\n- User authentication and secure session management\n- RESTful API with secure session management\n- State management with Redux Toolkit and React-Redux\n- Add, edit, and delete expenses and income\n- Categorize transactions\n- Add and manage different financial accounts\n- Dashboard with charts and analytics\n- Responsive and modern UI\n\n## Technologies Used\n- **Frontend:**\n  - React + Vite\n  - Redux Toolkit \u0026 React-Redux\n  - TypeScript\n  - Highcharts (for data visualization)\n  - Axios\n  - React Router DOM\n  - React Bootstrap, Bootstrap, Sass (SCSS)\n  - Framer Motion\n  - React Toastify (notifications)\n  - Moment.js (date handling)\n  - Other UI/utility libraries: classnames, react-icons, react-datepicker, react-loading-skeleton, swiper, currency.js etc.\n  \n- **Backend:**\n  - Node.js\n  - Express.js\n  - MongoDB \u0026 Mongoose\n  - JWT Authentication (jsonwebtoken)\n  - bcryptjs (password hashing)\n  - express-async-handler\n\n## Prerequisites\nBefore running the application, make sure you have the following installed:\n\n- [Node.js](https://nodejs.org/)\n- [MongoDB](https://www.mongodb.com/) (local instance) or a [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) account\n\n---\n\n## Getting Started\n\n### 1. Clone the Repository\n```bash\ngit clone https://github.com/athulrajhere/SpendWise-ExpenseTracker-React-Redux.git\ncd SpendWise-ExpenseTracker-React-Redux\n```\n\n### 2. Setup the Backend\n```bash\ncd backend\nnpm install\n```\n\n#### Create a `.env` file in the `backend` directory with the following variables:\n```env\nMONGO_URL=your_mongodb_connection_string\nPORT=3000\nCORS_ORIGIN=http://localhost:5173\nJWT_SECRET=your_jwt_secret\nREFRESH_SECRET=your_refresh_secret\n```\n- Replace `your_mongodb_connection_string` with your MongoDB URI (local or Atlas).\n- Set secure values for `JWT_SECRET` and `REFRESH_SECRET`.\n- Adjust `CORS_ORIGIN` if your frontend runs on a different port or domain.\n\n#### Start the Backend Server\n```bash\nnpm run dev\n```\nThe backend will run on [http://localhost:3000](http://localhost:3000) by default.\n\n---\n\n### 3. Setup the Frontend\n```bash\ncd ../spend-wise\nnpm install\n```\n\n#### Start the Frontend Development Server\n```bash\nnpm run dev\n```\nThe frontend will run on [http://localhost:5173](http://localhost:5173) by default.\n\n---\n\n## Environment Variables \u0026 Security\n- **.env files are gitignored** for both backend and frontend. You must create your own `.env` files as described above.\n\n## MongoDB Setup\n- You can use a local MongoDB instance or [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) for a cloud database.\n- Make sure your MongoDB URI is accessible from your backend server.\n\n## Project Structure\n```\nSpendWise-ExpenseTracker-React-Redux/\n├── backend/         # Express/MongoDB backend\n├── spend-wise/      # React (Vite) frontend\n```\n\n## Scripts\n- **Backend**\n  - `npm run dev` - Start backend with nodemon (auto-restart on changes)\n  - `npm start` - Start backend normally\n- **Frontend**\n  - `npm run dev` - Start frontend in development mode\n  - `npm run build` - Build frontend for production\n\n## Screenshots\n\n| Feature | Screenshot |\n|---------|------------|\n| Login | ![Login Screenshot](resources/login_page.png) |\n| Dashboard | ![Dashboard Screenshot](resources/dashboard_page.png) |\n| Transactions | ![Transactions Screenshot](resources/transactions_page.png) |\n| Categories | ![Categories Screenshot](resources/categaries_page.png) |\n| Edt Category | ![Edit Category Screenshot](resources/edit_categories.png) |\n| Account | ![Account Screenshot](resources/account_page.png) |\n| Overview  | ![Overview Screenshot](resources/overview_page.png) |\n| Settings  | ![Settings Screenshot](resources/settings_page.png) |\n\n## Contributing\nPull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathulrajhere%2Fspendwise-expensetracker-react-redux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fathulrajhere%2Fspendwise-expensetracker-react-redux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathulrajhere%2Fspendwise-expensetracker-react-redux/lists"}