Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Enhanced Exam Seat Allocator v2.0.0

A cutting-edge, intelligent seat allocation system for educational institutions with advanced anti-copying algorithms, spatial awareness, and comprehensive quality metrics.

🌟 New in v2.0.0

  • 🧠 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

✨ Core Features

  • 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

🚀 Quick Start

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • MongoDB

Backend Setup

cd backend
python -m venv .venv
.venv\Scripts\activate  # Windows
# or source .venv/bin/activate  # Linux/Mac
pip install -r requirements.txt
python app.py

Frontend Setup

npm install
npm run dev

Testing Enhanced Features

# 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

🎯 Usage

  1. Add Subjects: Create subject codes (e.g., CS301, IT205)
  2. Add Students: Register students with their subjects (supports multiple subjects)
  3. Add Rooms: Configure exam rooms with capacities
  4. Allocate Seats: Use enhanced algorithms to assign seats with quality metrics
  5. Generate Reports: Download professional PDF reports with enhanced formatting
  6. Analyze Quality: Review distribution and separation scores for optimization

📈 Performance Features

  • 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

🔧 API Enhancements

Quality Metrics Response

{
  "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"
  }
}

🛠 Technology Stack

  • Frontend: React, Vite, Tailwind CSS
  • Backend: Flask, Python
  • Database: MongoDB
  • Reports: ReportLab PDF generation

📊 Enhanced Allocation Strategies

Mixed Strategy (Advanced v3.0)

  • 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

Separated Strategy (Enhanced)

  • Room-Level Distribution: Optimal subject grouping across rooms
  • Intra-Room Optimization: Maximum separation within each room
  • Adaptive Distance: Dynamic separation based on room capacity

🎯 Quality Metrics

  • 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

📄 Enhanced PDF Reports

  • 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

🎨 Screenshot

Access the application at http://localhost:5173 after starting both servers.

📄 License

MIT License - feel free to use for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages