KA-Huis / space-management

The core application of the KA-Huis
https://ka-huis.github.io/space-management
Apache License 2.0
0 stars 0 forks source link

Research and work out scheduling process of building managers #104

Open cyrildewit opened 2 years ago

cyrildewit commented 2 years ago

Description

The KA-Huis works with building managers who are responsible for the building on that day. The process of scheduling the building managers should be analysed, so we can build a system where the schedule can created. The need to have access to this schedule at any time has already been analysed and advised. The technical design of how this scheduling process will be shaped and stored in the database is the objective of this ticket.

Analysis

What are building managers?

A building manager is someone with extra (legal) capabilities. The person has its own key to open the youth building. The building manager will open and close the building. The building manager is the only person who can open the safe.

The KA-Huis cannot be opened without a building manager. A building manager should always be present.

Who can be a building manager?

Only persons that have been given this role can be a building manager. This has something to do with legal affairs.

Based on the information I got from @joeyvonck, two people are usually the building manager.

The current planning process

The building usually follow the same schedule every week. In case when someone can't, the building managers will work this out together.

Advice

Realtime information about who the building manager is

It's for everyone useful to know who the building manager is of that day and what their contact details are. This could be useful for example in case of emergency or important events.

Simple planning system

Since the scheduling process of building managers does't happen that often and is limited to a few people, I would advice to create a simple planning system that suits this. This data will be stored in the database.

The planning system will be based on a day basis where one building manager can be scheduled on a day.

Design

Database design

The most simple design that could used to store this data is by creating a new table that holds the a date and user_id.

Screenshot 2022-05-22 at 22 37 54
Table building_manager_schedule {
  id int [pk] 
  user_id int
  date datetime
  updated_at datetime
  createad_at datetime
}

Front UI

The UI has already partially been designed by @joeyvonck and @Prupke.

9

Scheduler

A UI needs to be build so the schedule for the upcoming period can be created. We could create our own UI or reuse a library for React.js. https://jquense.github.io/react-big-calendar/ We can customise this to a minimal view, so it suits the planning process of building managers.

cyrildewit commented 2 years ago

Copy of a conversation between @joeyvonck and me.

@cyrildewit

Hey, weet jij of de beheerders problemen ervaren met het huidige planningssysteem?

@joeyvonck

Er is niet echt een systeem op het moment. De beheerders weten dat ze al jaren op die dagen komen. En beheerders die gevraagd worden als er iets in het weekend te doen is worden via whatsapp benaderd. Het enige systeem is de agenda en daar kan de beheerder wel problemen mee hebben als iemand iets niet in de agenda gezet heeft omdat het KA-Huis dicht was en ze niet bij de agenda kunnen. Dan kan het voor de beheerder die avond een verassing zijn dat er iemand extra komt. Of wanneer iemand door dat ze niet bij de agenda kunnen niet heeft geannuleerd en daardoor de beheerder mogelijk voor niets naar het KA komt