Lumina Frontend is a modern, feature-rich web interface for the Lumina malware detection system. It provides an intuitive dashboard for uploading and analyzing Windows executable files using machine learning.
- File Analysis: Upload and analyze Windows .exe files
- Batch Processing: Analyze up to 10 files simultaneously
- Real-time Progress: Visual analysis stages with animations
- Results Dashboard: Detailed verdicts with confidence scores
- Export Reports: Download results as JSON, CSV, or HTML
- History Tracking: Local storage of past analyses
- Dark/Light Mode: Theme support with smooth transitions
- Responsive Design: Works on desktop, tablet, and mobile
- Node.js 18+
- pnpm (recommended) or npm
- Backend API running at
http://localhost:8000
# Clone the repository
git clone https://github.com/IFTE-13/lumina.git
cd lumina
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Run development server
pnpm devVisit http://localhost:3000 to see the application.
NEXT_PUBLIC_API_URL=http://localhost:8000| Route | Description |
|---|---|
/ |
Landing page |
/threat-detector |
Main malware analysis |
/dashboard |
Statistics dashboard |
/compare |
Compare multiple files |
/batch-reports |
Batch analysis history |
/threat-intelligence |
Threat insights |
/verify |
Verify analysis results |
/status |
System health |
/api-docs |
API reference |
/help |
Documentation & guides |
/about |
About Lumina |
- Framework: Next.js 16
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Icons: Lucide React
- HTTP Client: Axios
- File Upload: React Dropzone
- Animations: Framer Motion
- Theming: next-themes
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Run production server
pnpm lint # Run ESLint
pnpm type-check # Run TypeScript type checkingThis frontend connects to the Lumina API backend. Make sure:
- Backend is running at http://localhost:8000
- CORS is enabled on the backend
- The API endpoints are accessible
Fork the repository
- Create your feature branch (git checkout -b feature/amazing)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing)
Open a Pull Request