A cutting-edge, intelligent seat allocation system for educational institutions with advanced anti-copying algorithms, spatial awareness, and comprehensive quality metrics.
- 🧠 Advanced Algorithm: Multi-pass allocation with spatial awareness and 2D grid optimization
- 📊 Quality Metrics: Distribution and separation scores with quality ratings
- 📄 Enhanced PDF Reports: Dual subject columns, better formatting, and quality indicators
- 🎯 Improved Anti-Copying: Better subject separation using checkerboard patterns
- 📈 Performance Tracking: Algorithm version tracking and comprehensive testing
- Smart Seat Allocation: Advanced v3.0 algorithm with spatial awareness and quality scoring
- Multi-Subject Support: Intelligent handling of students with multiple subjects
- Professional PDF Reports: Enhanced formatting with primary/all subjects columns
- Real-time Interface: Modern React frontend with live updates
- Multiple Strategies: Choose between mixed or separated allocation approaches
- Quality Assessment: Distribution and separation metrics for allocation optimization
- Python 3.8+
- Node.js 16+
- MongoDB
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows
# or source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt
python app.pynpm install
npm run dev# Run the enhanced demo script
python demo_csv_import.py
# This will test:
# - Advanced allocation algorithms
# - Quality metrics calculation
# - Enhanced PDF generation
# - Both mixed and separated strategies- Add Subjects: Create subject codes (e.g., CS301, IT205)
- Add Students: Register students with their subjects (supports multiple subjects)
- Add Rooms: Configure exam rooms with capacities
- Allocate Seats: Use enhanced algorithms to assign seats with quality metrics
- Generate Reports: Download professional PDF reports with enhanced formatting
- Analyze Quality: Review distribution and separation scores for optimization
- Algorithm Efficiency: Optimized multi-pass allocation with attempt limits
- Spatial Optimization: 2D grid awareness for better seat distribution
- Quality Assessment: Real-time scoring of allocation effectiveness
- Emergency Handling: Robust allocation with fallback procedures
- Version Tracking: Algorithm version monitoring for continuous improvement
{
"allocation_id": "507f1f77bcf86cd799439011",
"summary": {
"total_students": 20,
"total_allocated": 18,
"allocation_percentage": 90.0,
"quality_rating": "Very Good",
"average_distribution_score": 2.5,
"average_separation_score": 3.2,
"algorithm_version": "advanced_v3.0"
}
}- Frontend: React, Vite, Tailwind CSS
- Backend: Flask, Python
- Database: MongoDB
- Reports: ReportLab PDF generation
- Multi-Pass Allocation: Three-phase optimization for maximum efficiency
- Spatial Awareness: 2D grid positioning for optimal subject separation
- Quality Scoring: Distribution and separation metrics
- Intelligent Quotas: Balanced subject distribution across rooms
- Room-Level Distribution: Optimal subject grouping across rooms
- Intra-Room Optimization: Maximum separation within each room
- Adaptive Distance: Dynamic separation based on room capacity
- Distribution Score: Measures subject spread across seats (higher = better)
- Separation Score: Evaluates spatial separation using 2D coordinates
- Quality Ratings: Excellent, Very Good, Good, Fair, Needs Improvement
- Algorithm Tracking: Version monitoring for performance analysis
- Dual Subject Columns: Primary subject + all subjects with smart formatting
- Quality Indicators: Room-level distribution and separation scores
- Professional Layout: Alternating colors, optimized typography, better spacing
- Intelligent Formatting: Subject grouping, name truncation, line breaks
Access the application at http://localhost:5173 after starting both servers.
MIT License - feel free to use for educational purposes.