This synthetic page is directely for the attention of the next maintainer team in order to help them understand this project
What is it ?
This subproject is a part of a wider project able to manage reparation events for repair café separated in 3 parts :
- A Wordpress plugin.
- A HumHub plugin
- The main application
This subproject corresponds to the backend of the main application which is a REST only API written in PHP 8.4 with the laravel framework, the front end is not handled by php nor laravel but with react in another repository.
Personas
Visitors
Possibly no IT knowledge and irregular users. Visitors may only access and update their own data.
UI for Visitors should be as simple as possible
Volunteers
Regular volunteers and users with a low level of access given with the HumHub plugin. However, they may not be comfortable with computers.
UI for Volunteers should be simple if possible
Operationnal volunteers
Regular users which are comfortable with computers. These are the users of the main application
Intendants
Regular users with a general low level of access but are the only ones able to view critical personal data such as diet and allergies.
Admins
Users which are comfortable with computers. May access any type of data without any exception (including personal data).
Features
This section only lists features that are not already implemented in the API
Adding a visitor to an event
Given a specific visitor, adds it to the next event and store in database moreover sending a confirmation email.
Assigning an appointement between a visitor and volunteers
Given a visitor and a volunteer, updates the event in database to store the appointement. Also send a confirmation email to the visitor with the following information :
- Date and time of the appointment
- An access plan
- Safety information regarding their object
- Specific instructions regaarding their object
The visitor must be registered to the corresponding event in order to assign them an appointement
Intervention of a volunteer
Given a volunteer and an object, sets the reparation status of the object. The volunteer may add more information like the root cause and comments.
Multiple volunteer can intervene on a single object.
Logging
Given a database update, logs the affected columns and the user which updated the corresponding object in database.
The user logged is either a volunteer or null with null corresponding to a visitor auto-updating themselves
Update limitation
Given a feature, change the deadline of allowed modification. For example, you may need to change the deadline of self-updates of visitors from 14 days (defalt) to 21 days before the event
This change can only be done by an administrator
Security
Using Keycloak secure the different endpoints using the same authentification which will be the HumHub login by default.
You may need to reach out the contracting authority of the project for more information
Intendants view
A special view of the data with only personal data of volunteers.
Intended for intendants but administrators by reach them too.