Fraud Detection Platform
FinShield AI is a comprehensive, real-time fraud detection and financial transaction monitoring platform that leverages artificial intelligence to protect organizations from fraudulent activities. Built with modern web technologies, it provides intelligent alerts, advanced analytics, and seamless compliance management.
- AI-powered transaction monitoring with millisecond response times
- Dynamic risk scoring algorithms
- Intelligent pattern recognition for fraud detection
- Automated transaction flagging and approval workflows
- Comprehensive transaction visualization with Recharts
- Real-time fraud metrics and KPIs
- Historical data analysis and trend identification
- Customizable reporting and data exports
- RAG (Retrieval-Augmented Generation) chatbot using Google Gemini AI
- Natural language queries for transaction data
- Contextual insights and fraud analysis
- Smart recommendations based on transaction patterns
- NextAuth.js integration with Google OAuth and credentials
- Session management and user authorization
- Responsive design with Tailwind CSS
- Dark/Light theme support
- Accessible components with Radix UI
- Smooth animations with Framer Motion
- Framework: Next.js 15.1.0 (App Router)
- Language: TypeScript 5.0
- Styling: Tailwind CSS 3.4.17
- UI Components: Radix UI + shadcn/ui
- Charts: Recharts 2.15.0
- Icons: Lucide React
- Animations: Framer Motion 12.6.2
- Runtime: Node.js
- API: Next.js API Routes
- Database: PostgreSQL with Prisma ORM 6.5.0
- Authentication: NextAuth.js 4.24.11
- AI: Google Generative AI (Gemini 1.5 Flash)
- Users: Authentication and user management
- Transactions: Core transaction data with fraud indicators
- Analytics: Aggregated fraud and transaction metrics
- Sessions: Secure session management
- Package Manager: pnpm
- Linting: ESLint (build-time disabled for flexibility)
- Type Checking: TypeScript with build-time error handling
- Database Migration: Prisma Migrate
- Node.js 18+ installed
- PostgreSQL database (local or cloud)
- Google API key for AI features
- Git for version control
-
Clone the repository
git clone https://github.com/meetgoti07/FinShield.git cd FinShield -
Install dependencies
npm install -g pnpm pnpm install
-
Environment Setup Create a
.envfile in the root directory:# Database Configuration DATABASE_URL="postgresql://username:password@localhost:5432/finshield" # NextAuth Configuration NEXTAUTH_SECRET="your-secret-key-here" NEXTAUTH_URL="http://localhost:3000" # Google OAuth (Optional) GOOGLE_CLIENT_ID="your-google-client-id" GOOGLE_CLIENT_SECRET="your-google-client-secret" # Google AI API Key API_KEY="your-google-ai-api-key"
-
Database Setup
# Generate Prisma client pnpm prisma generate # Run database migrations pnpm prisma migrate dev --name init
-
Start Development Server
pnpm dev
The application will be available at
http://localhost:3000
# Build the application
pnpm build
# Start production server
pnpm startFinShield/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ │ ├── auth/ # Authentication endpoints
│ │ ├── transactions/ # Transaction CRUD operations
│ │ ├── analytics/ # Analytics data endpoints
│ │ ├── alerts/ # Fraud alert management
│ │ └── chatwithai/ # AI chatbot endpoint
│ ├── dashboard/ # Protected dashboard pages
│ │ ├── transactions/ # Transaction management
│ │ ├── analytics/ # Analytics dashboard
│ │ ├── alerts/ # Fraud alerts
│ │ ├── users/ # User management
│ │ └── assistant/ # AI assistant interface
│ ├── login/ # Authentication pages
│ └── register/ # User registration
├── components/ # Reusable React components
│ ├── ui/ # shadcn/ui components
│ ├── dashboard/ # Dashboard-specific components
│ ├── auth/ # Authentication components
│ ├── analytics/ # Analytics visualizations
│ └── landing/ # Landing page components
├── lib/ # Utility libraries
│ ├── prisma.ts # Database client
│ └── utils.ts # Helper functions
├── prisma/ # Database schema and migrations
│ ├── schema.prisma # Database schema definition
│ └── migrations/ # Database migration files
├── hooks/ # Custom React hooks
├── styles/ # Global styles
└── public/ # Static assets
POST /api/auth/[...nextauth]- NextAuth.js authenticationPOST /api/register- User registration
GET /api/transactions- Fetch transactionsPOST /api/transactions- Create new transactionGET /api/recent-transaction- Get recent transactions
GET /api/analytics- Fraud analytics dataGET /api/overview- Dashboard overview metrics
GET /api/alerts- Fraud alertsGET /api/recent-fraud- Recent fraud cases
POST /api/chatwithai- AI-powered transaction queries
The platform uses a multi-layered approach:
- Risk Scoring: Real-time calculation based on transaction patterns
- Compliance Scoring: Regulatory compliance assessment
- Severity Classification: Automatic threat level assignment
- Pattern Recognition: AI-driven anomaly detection
- Natural language transaction queries
- Fraud trend analysis
- Risk assessment insights
- Compliance guidance
- Real-time data interpretation
- Transaction volume tracking
- Fraud rate monitoring
- Risk distribution analysis
- Compliance score trends
- Geographic fraud patterns
The application uses PostgreSQL with Prisma ORM. Key models include:
- User: Authentication and profile data
- Transaction: Core transaction records with fraud indicators
- Analytics: Aggregated metrics and insights
Configure Google AI integration:
- Obtain API key from Google AI Studio
- Set
API_KEYin environment variables - Customize model parameters in
/api/chatwithai/route.ts
- Configure NextAuth.js providers
- Set up Google OAuth (optional)
- Configure session management
- Implement role-based access control
- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on push to main branch
DATABASE_URL="your-production-database-url"
NEXTAUTH_SECRET="production-secret-key"
NEXTAUTH_URL="https://your-domain.com"
API_KEY="your-google-ai-api-key"pnpm prisma migrate deploy# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch# View database in Prisma Studio
pnpm prisma studio
# Reset database
pnpm prisma migrate reset
# Generate Prisma client
pnpm prisma generate- Next.js Team - For the amazing React framework
- Vercel - For seamless deployment platform
- Prisma - For the excellent database toolkit
- shadcn/ui - For beautiful, accessible UI components
- Google AI - For powerful generative AI capabilities