Skip to content

## Description This project is a Python application using object-oriented programming to organize an openspace. It reads colleagues from an Excel file and randomly assigns them to tables and seats, while handling cases where the number of people exceeds the available seating capacity.

Notifications You must be signed in to change notification settings

Ardatekk/challenge-openspace-classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenSpace Seat Organizer

OpenSpace Seat Organizer

πŸš€ Challenge Overview

Type: Consolidation
Repository: openspace-organizer
Duration: 2 days
Team: Solo or Team
Deadline: dd/mm/yy H:i AM/PM

Mission: Create a Python program that randomly assigns colleagues to seats in an open space to encourage collaboration and team interaction.


🎯 Mission Objectives

  • Randomly assign people to spots in the open space.
  • Use Object-Oriented Programming (OOP) principles effectively.
  • Apply clean architecture and project structuring.
  • Handle data import/export with Excel files.

Optional (Team Challenge):

  • Collaborate using Git & Trello.
  • Split functionalities into tasks, assign, and use PRs for merging.

🧩 Learning Objectives

  • Implement classes and objects with proper encapsulation.
  • Use imports correctly and maintain a clean code structure.
  • Read data from an Excel file.
  • Organize a Python project for real-world scenarios.
  • Apply code style with black and include clear docstrings.

🏒 The Scenario

Your company moved to a new office with 6 tables of 4 seats each. To help new colleagues get to know each other, the seating changes daily.
Your program should:

  • Load a list of colleagues from an Excel file.
  • Randomly distribute colleagues across the 24 seats.
  • Indicate free seats.
  • Handle more colleagues than available seats gracefully.

Nice-to-have Features:

  • Dynamic room configuration via config.json.
  • Add colleagues or tables on the fly.
  • Avoid leaving someone alone at a table.
  • Respect seating preferences (blacklist/whitelist) from Excel.
  • Provide an interactive HTML page for execution and configuration.

βš™οΈ Project Structure

openspace-organizer/
β”‚
β”œβ”€ README.md
β”œβ”€ main.py
β”œβ”€ assets/
β”‚  └─ OpenSpaceBanner.png
└─ utils/
   β”œβ”€ file_utils.py
   β”œβ”€ table.py
   └─ openspace.py

About

## Description This project is a Python application using object-oriented programming to organize an openspace. It reads colleagues from an Excel file and randomly assigns them to tables and seats, while handling cases where the number of people exceeds the available seating capacity.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages