{"id":24708544,"url":"https://github.com/elyse502/wallet-app-task-force","last_synced_at":"2026-04-05T23:37:55.863Z","repository":{"id":273311597,"uuid":"917061485","full_name":"elyse502/wallet-app-task-force","owner":"elyse502","description":"Personal Finance Tracker","archived":false,"fork":false,"pushed_at":"2025-01-20T07:21:48.000Z","size":260,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T06:14:49.376Z","etag":null,"topics":["backend-webdevelopment","cloudinary","frontend-webdevelopment","full-stack-web-development","mern-stack","tailwindcss","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://wallet-app-task-force-frontend.vercel.app","language":"JavaScript","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/elyse502.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}},"created_at":"2025-01-15T09:28:05.000Z","updated_at":"2025-01-26T11:18:33.000Z","dependencies_parsed_at":"2025-01-20T06:33:26.196Z","dependency_job_id":"6c8aee07-fa51-40e3-9ad2-b3fb90fe53a5","html_url":"https://github.com/elyse502/wallet-app-task-force","commit_stats":null,"previous_names":["elyse502/wallet-app-task-force"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/elyse502/wallet-app-task-force","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyse502%2Fwallet-app-task-force","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyse502%2Fwallet-app-task-force/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyse502%2Fwallet-app-task-force/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyse502%2Fwallet-app-task-force/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elyse502","download_url":"https://codeload.github.com/elyse502/wallet-app-task-force/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyse502%2Fwallet-app-task-force/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31454199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["backend-webdevelopment","cloudinary","frontend-webdevelopment","full-stack-web-development","mern-stack","tailwindcss","vercel-deployment"],"created_at":"2025-01-27T06:33:50.163Z","updated_at":"2026-04-05T23:37:55.826Z","avatar_url":"https://github.com/elyse502.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wallet Web Application\n\nA comprehensive web application for managing multiple financial accounts, tracking expenses, and monitoring budgets across different payment methods (bank accounts, mobile money, cash, etc.). Built with React.js, Node.js, Express, and MongoDB.\n\n## 🌐 Live Demo\n\n[View Live Demo](https://wallet-app-task-force-frontend.vercel.app/login)\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 📝 Use Case\n\nMeet Eric, an employee who struggles with managing transactions across multiple payment methods:\n- Multiple bank accounts\n- Mobile money accounts\n- Cash transactions\n\nThis application helps Eric by:\n- Tracking all transactions across different accounts\n- Generating time-based reports\n- Setting and monitoring budgets with notifications\n- Organizing expenses with categories and subcategories\n- Visualizing financial data for better understanding\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## ✨ Features\n\n### User Management\n- Secure user registration and login\n- JWT-based authentication\n- Profile management with budget settings\n\n### Account Management\n- Manage multiple account types:\n  - Bank accounts\n  - Mobile money accounts\n  - Cash accounts\n- Real-time balance tracking\n- Transaction history per account\n\n### Transaction Management\n- Add income and expense transactions\n- Organize transactions with categories and subcategories\n- Recurring transactions support\n- Filter and search functionality\n- Detailed transaction history\n\n### Budget Management\n- Set monthly budget limits\n- Category-specific budget limits\n- Visual budget progress tracking\n- Real-time budget notifications when limits are exceeded\n- Real-time spending notifications\n\n### Categories\n- Create and manage transaction categories\n- Add and organize subcategories\n- Category-wise expense tracking\n- Category budget limits\n- Spending analysis by category\n\n### Reports \u0026 Analytics\n- Generate reports for custom time periods\n- Category distribution charts\n- Multi-account transaction summary\n- Visual representation of financial data\n- Export transactions in multiple formats:\n  - CSV export\n  - Excel export\n  - PDF reports\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 🛠 Tech Stack\n\n### Frontend\n- React.js\n- TailwindCSS for styling\n- Chart.js for data visualization\n- React Router for navigation\n- Axios for API requests\n- React-Toastify for notifications\n\n### Backend\n- Node.js\n- Express.js\n- MongoDB with Mongoose\n- JWT for authentication\n- bcryptjs for password hashing\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 🚀 Getting Started\n\n### Prerequisites\n- Node.js (v14 or higher)\n- MongoDB\n- npm or yarn\n\n### Installation\n\n1. **Clone the repository**\n```console\ngit clone https://github.com/elyse502/wallet-app-task-force.git\ncd wallet-app\n```\n\n2. **Backend Setup**\n```console\ncd wallet-app-backend\nnpm install\n\n# Create .env file with:\nPORT=5000\nMONGODB_URI=your_mongodb_uri\nJWT_SECRET=your_jwt_secret\nJWT_EXPIRE=30d\nFRONTEND_URL=http://localhost:5173\n```\n\n3. **Frontend Setup**\n```console\ncd ../wallet-app-clientside\nnpm install\n\n# Create .env file with:\nVITE_API_URL=\"http://localhost:5000/api\"\n```\n\n4. **Start Development Servers**\n\nBackend:\n```console\ncd wallet-app-backend\nnpm run dev\n```\n\nFrontend:\n```console\ncd wallet-app-clientside\nnpm run dev\n```\n\nThe application will be available at:\n- Frontend: http://localhost:5173\n- Backend: http://localhost:5000\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 📱 Application Structure\n\n### Frontend Structure\n```groovy\nsrc/\n├── components/\n│   ├── Auth/          # Authentication components\n│   ├── Dashboard/     # Dashboard and overview\n│   ├── Transactions/  # Transaction management\n│   ├── Budget/        # Budget tracking\n│   ├── Reports/       # Reports and analytics\n│   └── UI/           # Reusable UI components\n├── context/          # React context providers\n├── services/         # API service layer\n├── utils/           # Utility functions\n└── routes/          # Route definitions\n```\n\n### Backend Structure\n```groovy\nsrc/\n├── controllers/     # Route controllers\n├── middleware/      # Custom middleware\n├── models/         # Database models\n├── routes/         # API routes\n├── utils/          # Helper functions\n└── app.js         # Main application file\n```\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 🔒 Security Features\n- JWT-based authentication\n- Password hashing with bcrypt\n- Protected API routes\n- Input validation\n- Error handling\n- CORS configuration\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 🌟 Key Features in Detail\n\n### Transaction Management\n- Add, edit, and delete transactions\n- Categorize transactions\n- Filter by date range, category, and type\n- Search transactions\n- Recurring transaction support\n\n### Budget Tracking\n- Set monthly budget limits\n- Track category-specific budgets\n- Visual progress bars\n- Alert system for budget thresholds\n- Real-time updates\n\n### Reporting\n- Export transactions to CSV, Excel, and PDF\n- Monthly spending analysis\n- Category-wise breakdowns\n- Interactive charts and graphs\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 🤝 Contributing\n\n1. Fork the repository\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\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/elyse502/wallet-app-task-force/blob/main/LICENSE) file for details.\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 👤 Author\n\n- [**NIYIBIZI Elysée**](https://linktr.ee/niyibizi_elysee)  | [Github](https://github.com/elyse502) | [Linkedin](https://www.linkedin.com/in/niyibizi-elys%C3%A9e/) | [Twitter](https://twitter.com/Niyibizi_Elyse).\n- **Email**: \u003celyseniyibizi502@gmail.com\u003e\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/niyibizi-elys%C3%A9e/) [![@phenrysay](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://twitter.com/Niyibizi_Elyse) [![pH-7](https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/elyse502)\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 🌟 Acknowledgments\n\n- [React.js](https://reactjs.org/) - UI library\n- [TailwindCSS](https://tailwindcss.com/) - Styling\n- [Chart.js](https://www.chartjs.org/) - Charts\n- [Express.js](https://expressjs.com/) - Backend framework\n- [MongoDB](https://www.mongodb.com/) - Database\n\n\u003cbr /\u003e\u003chr /\u003e\u003cbr /\u003e\n\n## 📸 Screenshots\n\n![screencapture-localhost-5173-2025-01-17-11_09_00](https://github.com/user-attachments/assets/af394c2b-b58c-4517-b680-3fa21b82330f)\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felyse502%2Fwallet-app-task-force","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felyse502%2Fwallet-app-task-force","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felyse502%2Fwallet-app-task-force/lists"}