🪑 Seating Arrangement System — Java Automation Tool

💡 Inspiration

Organizing seating for exams, events, or training sessions manually is time-consuming and error-prone. We wanted to automate this using Java — enabling fast, rule-based seating plans with minimal inputs.


🔧 How We Built It

  • Built entirely in Java using Swing for the GUI interface.
  • Handled student input data via file handling and 2D arrays.
  • Implemented seating logic to:
    • Avoid friends or duplicates seated next to each other
    • Distribute students evenly across rows/columns
    • Output the final arrangement in a clean, scrollable table
  • Exported seating charts to files for records or printing.

✨ Features

  • Automated seating layout generation
  • GUI-based input for student names and constraints
  • Rule-based logic (e.g., avoid adjacent friends)
  • Exports final arrangement to .txt or display table
  • Simple, clean UI with Java Swing

🧩 Challenges Faced

  • Managing conflicting constraints like max capacity and friend separation
  • Validating input data for duplicates or formatting issues
  • Handling edge cases (odd number of students, last row handling)

📚 What We Learned

  • GUI development with Java Swing
  • Efficient use of 2D arrays and HashMaps for mapping and logic
  • Clean separation of logic, input, and UI layers
  • Real-world use case implementation of object-oriented design

🔗 Try It Out

GitHub Repository


Built With

  • data-structures-(2d-arrays
  • eclipse
  • file-handling
  • hashmaps)
  • java
  • oop
Share this project:

Updates