This project is part of my Bachelor's thesis at HAMK UAS Finland and is currently a work in progress. It aims to provide a comprehensive solution for personal finance management, helping users track expenses, plan budgets, generate financial reports, and gain valuable financial insights. The project is part of a larger project on chaos engineering and microservices, focusing on the development of resilient and scalable applications.
- Introduction
- Project Structure
- Technologies Used
- Installation
- Usage
- Features
- Future Work
- Contributing
- License
- Acknowledgements
- Contact
- Demo
The Wallet Project is a personal finance management tool mainly developed using TypeScript and Java. It enables users to efficiently manage their finances by offering key features such as:
- Expense Tracking
- Budget Planning
- Financial Reporting
- Advanced Financial Insights
This project consists of multiple services along with a frontend application. The repository is structured as follows:
wallet/
├── finance-service/
│ ├── src/
│ ├── test/
│ └── README.md
├── frontend/
│ ├── src/
│ ├── public/
│ └── README.md
├── insights-service/
│ ├── src/
│ └── README.md
├── user-service/
│ ├── src/
│ └── README.md
├── api-gateway/
│ ├── src/
│ └── README.md
├── .gitignore
└── README.md
The project leverages various technologies for both frontend and backend development:
-
Frontend:
- TypeScript
- React
- Vite + SWC
-
Backend:
- Node.js
- NestJS (Fastify & Mongoose)
- Java & Spring Boot (for user-service security & data management)
- Python & FastAPI (for insights-service)
-
Infrastructure & Deployment:
- Docker & Docker Compose
- GitHub Actions
- Kubernetes (planned)
Follow these steps to set up the project:
- Clone the repository:
git clone https://github.com/ahm282/wallet.git cd wallet
The project can be run using Docker Compose or by running each service individually.
For an easy setup, use Docker Compose:
-
Ensure Docker and Docker Compose are installed.
-
Copy the provided
.env.exampleto a.envfile and configure environment variables:cp .env.example .env
-
Run the following command to start all services:
docker-compose up -d --build
-
Access the frontend application at
http://localhost/.
- Expense Tracking: Log daily expenses and categorize them.
- Financial Reporting: Generate detailed reports for financial analysis.
- Insights & Analytics: Gain actionable financial insights.
Planned enhancements include:
- Additional Financial Tools: Expanding features to include investments and savings tracking.
- Illustrations & Diagrams: Adding visual representations for financial data.
- Use Prophet or ARIMA for forecasting: Implementing time series forecasting for financial insights instead of simple averages.
Contributions are welcome! To contribute to the project, follow these steps:
- Fork the repository
- Create a new branch
- Make your changes
- Commit your changes
- Push to the branch
- Submit a pull request
For inquiries, reach out to:
- Ahmed Mahgoub - GitHub
For commit history and updates, visit the commits page.