Insightic is a comprehensive digital forensics platform with MongoDB-based case management, real-time map visualization, and AI-powered analysis capabilities.
- Case Management: MongoDB-based case creation and organization
- File Upload: Secure file uploads associated with specific cases
- Network Analysis: Real-time map visualization with React Leaflet
- Database Search: Advanced forensic data search and filtering
- Evidence Management: Comprehensive evidence tracking and analysis
- Professional UI: Clean, professional interface for forensic investigators
- Node.js (v16 or higher)
- MongoDB Atlas account (or local MongoDB instance)
- Modern web browser
- Navigate to the backend directory:
cd backend- Install dependencies:
npm install- Start the backend server:
npm startThe backend server will run on http://localhost:5000
- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Start the development server:
npm run devThe frontend will run on http://localhost:5173
The application is configured to connect to MongoDB Atlas using the connection string:
mongodb+srv://navasns0409:[email protected]/
- cases: Stores case information, files, and metadata
- files: File storage references and analysis results
- evidence: Evidence items linked to cases
GET /api/cases- Get all casesPOST /api/cases- Create new caseGET /api/cases/:id- Get case by IDPUT /api/cases/:id- Update caseDELETE /api/cases/:id- Delete case
POST /api/cases/:caseId/upload- Upload file to caseGET /api/cases/:id/files- Get case filesPOST /api/cases/:id/files- Add file metadata to case
GET /api/health- Health check endpoint
Insightic/
├── backend/
│ ├── server.js # Express server
│ ├── package.json # Backend dependencies
│ ├── routes/
│ │ └── cases.js # Case management routes
│ ├── services/
│ │ └── caseService.js # MongoDB case operations
│ └── uploads/ # File upload directory
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── Dashboard.jsx
│ │ │ ├── CaseManagement.jsx
│ │ │ ├── NetworkAnalysis.jsx
│ │ │ ├── UploadUFDR.jsx
│ │ │ └── DatabaseSearch.jsx
│ │ ├── contexts/
│ │ │ ├── CaseContext.jsx # Case management context
│ │ │ └── CaseDataContext.jsx # Data context
│ │ └── main.jsx
│ └── package.json # Frontend dependencies
└── start-backend.bat # Windows backend starter script
- Create Case: Use Case Management to create a new forensic case
- Upload Files: Files can only be uploaded after selecting an active case
- Analysis: Uploaded files are processed and made available for analysis
- Investigation: Use Network Analysis, Database Search, and Evidence Viewer
- Reporting: Generate reports and manage case progress
- File type validation for forensic formats
- Case-based access control
- Secure file upload with size limits
- MongoDB connection security
- SQLite databases (.db, .sqlite)
- XML data files (.xml)
- Compressed archives (.zip, .rar, .7z)
- Text logs (.txt, .log)
- JSON data (.json)
- Disk images (.img, .dd)
The Network Analysis component uses React Leaflet with OpenStreetMap tiles for real-world geographic visualization of forensic data.
Important: Files can only be uploaded after creating and selecting an active case. This ensures proper data organization and case management compliance.
- Comprehensive error handling for API operations
- User-friendly error messages
- Automatic retry mechanisms for failed uploads
- Connection status monitoring
- Start Backend:
cd backend && npm run dev- Start Frontend:
cd frontend && npm run devCreate a .env file in the backend directory for custom configuration:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
MAX_FILE_SIZE=104857600For technical support or questions about Insightic, please refer to the project documentation or contact the development team.
Insightic - Professional Digital Forensics Platform