A full-stack web application that allows users to upload a CSV of client transactions, analyze potential risks, and identify high-risk clients based on transaction amounts.
- 📁 CSV Upload for transaction data
- 📊 Risk detection based on transaction amount
- 📧 Email alerts for high-risk clients
- 📈 Dashboard showing all and high-risk clients
- 🛠️ Built with React, Node.js, Express, and CSV parser
ClientRiskAnalyzer/
├── server/ # Node.js + Express backend
│ └── index.js # Upload logic & risk analysis
├── client-risk-analyzer/ # React frontend
│ └── src/
│ └── App.js # Main frontend logic
├── sample-clients.csv # Example CSV for testing
name,amount
Client A,5000
Client B,12000
Client C,8000
Client D,20000
- Frontend: React, Axios, Tailwind CSS (optional styling)
- Backend: Node.js, Express, Multer, CSV-Parser, Nodemailer
- Deployment: Vercel (frontend) + Render (backend)
cd server
npm install express cors multer csv-parser nodemailer
node index.js✏️ Replace your Gmail credentials in
index.jswith real ones using App Passwords
cd client-risk-analyzer
npm install
npm start- Go to vercel.com
- Import GitHub repo → Select
client-risk-analyzerfolder as root - Deploy
- Go to render.com
- Create new web service → Connect GitHub repo → Choose
serverfolder - Set build command:
npm install - Set start command:
node index.js - Add environment variable for email config if needed
- Configured to notify via Gmail when high-risk clients (amount > 10,000) are detected
- Setup via Nodemailer in the backend
This project demonstrates:
- Real-world business logic
- Consulting-style analysis
- Data parsing, processing & alerting
- Full-stack deployment experience
Perfect for roles in:
- Tech Consulting
- Data Analytics
- Full-Stack Development
Shahid Afridi
MIT