Finlytix is a dashboard-based web application for visualizing and forecasting personal spending trends. It uses machine learning to provide financial insights from public transaction datasets. The project features secure user authentication, customizable budget alerts, and scalable data synchronization pipelines built with Python, React, Google Cloud Platform (GCP), and Docker.
- Interactive Dashboard: Visualize spending habits, income vs. expenses, and net worth with interactive charts.
- ML-Powered Forecasting: Predict future spending patterns and get ahead of your finances.
- Secure User Authentication: Safe and secure login using Google Cloud Identity Platform.
- Custom Budget Alerts: Set spending limits and receive automated notifications.
- Data Synchronization: Automated pipelines to keep your financial data up-to-date.
- Containerized Deployment: Easily deploy and scale the application with Docker.
- Authentication: Users securely log in via GCP Identity Platform.
- Data Ingestion: Transaction data is imported from public datasets or manual uploads.
- Data Processing: A Python backend processes and categorizes transactions.
- ML Analysis: Forecasting models analyze historical data to predict future spending.
- Visualization: The React frontend presents the data through an intuitive dashboard.
- Alerts: A notification system sends budget alerts based on user-defined rules.
Finlytix is built with a modern, scalable architecture:
- Python Backend (
/backend):- FastAPI: For creating high-performance REST APIs.
- Scikit-learn/Statsmodels: For machine learning and statistical modeling.
- Pandas: For data manipulation and analysis.
- React Frontend (
/frontend):- React: For building a dynamic and responsive user interface.
- Recharts/D3.js: For creating interactive data visualizations.
- Axios: For communicating with the backend API.
- Google Cloud Platform (GCP):
- Identity Platform: For managing user authentication.
- Cloud Run/Kubernetes Engine: For deploying the containerized application.
- Cloud SQL/Firestore: For database and data storage needs.
- Docker:
- Dockerfile: To containerize the Python backend and React frontend.
- Docker Compose: For managing multi-container local development.
- Python (version 3.9 or higher)
- Node.js (version 16 or higher) and npm
- Docker
- Google Cloud SDK
- Git
- Clone the repository:
git clone https://github.com/CaptainAni187/meshfs-p2p-file-system.git cd meshfs-p2p-file-system - Set up the Python backend:
# Create and activate a virtual environment python3 -m venv .venv source .venv/bin/activate # Install dependencies pip install -r requirements.txt - Set up the React frontend:
cd frontend npm install
- Configure Environment Variables:
- Create a
.envfile in the root directory and add your GCP credentials and any other necessary configurations for secure authentication, database, and API integration.
- Create a
- Run the application with Docker Compose:
docker-compose up --build - Access the application:
- Open your web browser and navigate to
http://localhost:3000.
- Open your web browser and navigate to
- The Python backend is modular, allowing for easy expansion of ML models and API endpoints.
- The React frontend uses a component-based architecture for easy maintenance and scalability.
- Run backend tests with
pytest. - Linting and formatting are enforced using
blackandflake8for Python, andESLint/Prettierfor the frontend.
Contributions are welcome! Please feel free to open an issue or submit a pull request for:
- Bug fixes
- New features (e.g., additional data source integrations, more advanced ML models)
- Improved documentation
- UI/UX enhancements
Animesh (CaptainAni187)
- GitHub: CaptainAni187
- Project Repository: meshfs-p2p-file-system