AI-Powered Academic Integrity Detection System for Flowgorithm Files
A comprehensive C# .NET web application designed to analyze Flowgorithm files, detect plagiarism, and track student performance over time. Built with cutting-edge technology for educators and academic administrators.
Flowgorithm Analyzer Pro is a batch analysis and student performance tracking system that:
- π€ Accepts single Flowgorithm files (.fgl) or ZIP archives
- π Automatically analyzes multiple student solutions
- π΅οΈ Performs forensic analysis on student submissions
- π Compares solutions within a session
- π Tracks student performance over time
- π¨ Displays results through an intuitive, beautiful UI
- β Plagiarism Detection - Detect copied, modified, or suspicious solutions
- β GPT Analysis - Identify AI-generated content patterns
- β Metadata Forensics - Analyze file creation/modification patterns
- β Performance Tracking - Monitor student progress across assignments
- β Bulk Processing - Analyze entire classes at once
- β Beautiful Dashboard - Real-time analytics and visualizations
- β Risk Scoring - Automatic flagging of high-risk submissions
- Framework: ASP.NET Core 8.0
- Database: Entity Framework Core with SQL Server
- Analysis: Custom plagiarism detection engine
- API: RESTful API with Swagger documentation
- Framework: React 18 with TypeScript
- Styling: Tailwind CSS
- Charting: Recharts for visualizations
- State: Zustand for state management
- Build: Vite
FlowgorithmAnalyzerPro/
βββ Backend/
β βββ FlowgorithmAnalyzer.API/ # Web API
β βββ FlowgorithmAnalyzer.Core/ # Business logic
β βββ FlowgorithmAnalyzer.Infrastructure/ # Data access
βββ Frontend/ # React application
βββ docs/ # Documentation
βββ README.md
Before running the project, install:
- .NET 8 SDK - required for the ASP.NET Core backend
- Node.js 18 or newer - required for the React/Vite frontend and
npm - Git - optional, but useful for cloning the project
- A code editor such as Visual Studio Code or Visual Studio 2022
Database note:
- Development uses SQLite by default through
Backend/FlowgorithmAnalyzer.API/appsettings.Development.json, so no separate database install is needed for normal local runs. - SQL Server LocalDB or SQL Server Express is only needed if you switch the backend to the production/default
appsettings.jsonconnection string.
Useful version checks:
dotnet --version
node --version
npm --versioncd Backend/FlowgorithmAnalyzer.API
dotnet restore
dotnet ef database update
dotnet runBackend runs at: http://localhost:5000
cd Frontend
npm install
npm run devFrontend runs at: http://localhost:3000
- Total submissions and analysis count
- Flagged cases monitoring
- Average plagiarism scores
- Risk level distribution (Low/Medium/High/Critical)
- Individual performance profiles
- Assignment history with scores
- Risk level classification
- Trend analysis
- Plagiarism score with detailed breakdown
- Risk indicators and severity levels
- Forensic analysis reports
- Evidence and pattern matching
-
Hash Comparison (40% weight)
- Instruction-level hash matching
- Identical code block detection
-
Structure Analysis (35% weight)
- Element sequence comparison
- Flow pattern matching
- Variable usage patterns
-
Flow Similarity (25% weight)
- Decision tree comparison
- Loop structure analysis
- Element flow patterns
- Perfect structure indicators
- Generic variable naming patterns
- Overly sophisticated documentation
- Abnormal creation timelines
- File creation vs modification gaps
- Suspiciously short completion times
- Missing author information
- Version count anomalies
POST /api/analysis/upload-single- Single file analysisPOST /api/analysis/upload-bulk- Bulk ZIP processing
POST /api/analysis/compare- Compare two solutionsGET /api/analysis/dashboard-summary- Dashboard statistics
GET /api/analysis/student/{studentId}- Student profileGET /api/analysis/student/{studentId}/assignments- Assignment history
- Student - Student profiles
- Submission - File uploads
- AnalysisResult - Analysis reports
- RiskIndicator - Detected risks
- SimilarityMatch - Cross-submission matches
- ForensicAnalysis - Metadata analysis
- Modern gradient interface
- Responsive grid layouts
- Interactive charts and visualizations
- Color-coded risk levels
- Smooth animations and transitions
- Intuitive dashboard
- Quick file upload
- Student search and filtering
- Real-time feedback
- Export capabilities
- Entity Framework Core protection
- Input validation on all endpoints
- CORS configuration for frontend
- Secure file handling
- SQL injection prevention
- Low (0-29%) - Likely original work
- Medium (30-59%) - Minor similarities
- High (60-79%) - Significant concerns
- Critical (80-100%) - Likely plagiarism
COPIED- Direct copy detectionGPT_GENERATED- AI content indicatorsMODIFIED- Slight modificationsSUSPICIOUS- Unusual patternsMETADATA_ANOMALY- Forensic concerns
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=FlowgorithmAnalyzerDb;Trusted_Connection=true;"
}
}REACT_APP_API_URL=http://localhost:5000
.fgl- Flowgorithm files (XML format).zip- Archives containing multiple .fgl files
StudentID_StudentName_filename.fgl
Example: STU001_JohnDoe_assignment1.fgl
Create a simple Flowgorithm file with:
- Start/End terminals
- Process boxes
- Decision diamonds
- Loop structures
- Variables
Create new migration:
dotnet ef migrations add MigrationNameApply migrations:
dotnet ef database update- Verify LocalDB is running
- Check connection string in appsettings.json
- Run
dotnet ef database update
- Check CORS configuration
- Verify API is running on correct port
- Check firewall settings
- Clear node_modules:
rm -r node_modules - Reinstall:
npm install - Clear cache:
npm cache clean --force
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.
Flowgorithm Analyzer Pro
- Built with β€οΈ for Academic Integrity
This tool is designed for educators and academic administrators to:
- Monitor student progress
- Detect academic dishonesty
- Provide fair assessment
- Maintain academic integrity
For issues, questions, or feature requests, please open an issue in the repository.
Version: 1.0.0
Last Updated: May 2026
Status: Production Ready β