A modern, browser-based exam seating arrangement system built with React. Generate randomized seating charts with support for custom classroom layouts, CSV student imports, and PDF exports—all running entirely in your browser with no backend required.
- Define custom classroom dimensions (M × N grid)
- Visual stage/platform indicator at the front
- Click to enable/disable specific seats to match actual classroom layouts
- Save and load classroom configurations (JSON format)
- Import student lists from CSV files
- Interactive column selector for flexible CSV formats
- Supports UTF-8 encoding
- Real-time student count display
- One-click random seat assignment
- Visual color-coded seat status:
- 🟢 Green: Available seats
- 🩷 Pink: Disabled seats
- 🔵 Blue: Assigned seats
- Easy clearing and rearrangement
- High-quality PDF generation with full Chinese character support
- Professional seating chart layout
- Landscape A4 format optimized for printing
- Preserves all visual styling and colors
- All processing happens locally in your browser
- No data is sent to any server
- Privacy-focused design
- Enter the number of rows (M) and columns (N)
- Click "Set Classroom Size"
- Click on seats to disable them (to match your classroom layout)
- (Optional) Save the configuration for future use
- Click "Load Student List"
- Select your CSV file
- Choose the column containing student names
- Confirm to load the student list
- Click "Random Arrangement" to automatically assign students
- Review the arrangement on the visual seating chart
- Use "Clear Arrangement" to start over if needed
- Click "Export to PDF"
- Save the seating chart for distribution or printing
Your CSV file can have any structure. The application will prompt you to select which column contains student names.
Example CSV:
Student ID,Name,Class,Grade
001,Offer Yang,A,10
002,Uploader Li,B,10
003,Director Wang,A,10
004,ComedyGod Lin,A,10
005,FriedFish Chiu,B,10Just select the "Name" column when prompted.
This project also has a Python desktop version with GUI:
- Repository: https://github.com/JamesLin102/Seating-System.git
- Features PDF export with Chinese font support
- Ideal for offline use