Skip to content

Functionalities

Martina Irsuti edited this page Apr 23, 2024 · 17 revisions

F01: The application will have a BackOffice

Level: MUST
Description: The Organizers will use the BackOffice to modify the application's contents. This will trigger a build pipeline, that will create a new static version of the application with the updated contents, and it will then deploy it.

Sub-functionalities:

F01.A: The application will allow only the Organizers to login to the BackOffice (MUST);
  • F01.B: A script will set the first Organizer when the application is going to be installed for the first time (RECOMMENDED);
  • F01.C: The application will allow the Organizers to add changes to the contents until they get approved (MUST);
F01.D: The application will trigger a build pipeline when the changes to the contents get approved (MUST);
* **F01.E**: The application will allow the Organizers to promote a registered user to Organizer role (_**SHOULD**_).

F02: The BackOffice will allow to provide general informations

Level: MUST

Sub-functionalities:

  • F02.C: The application will allow the Organizers to provide informations about the venue (MUST);
  • F02.D: The application will allow the Organizers to provide informations about the sponsors (MUST);
  • F02.E: The application will allow the Organizers to provide general informations that will be linked in the footer (MUST);
  • F02.F: The application will allow the Organizers to provide informations on how to reserve a ticket (MUST);
  • F02.G: The application will allow the Organizers to provide a routing configuration (MUST);
  • F02.H: The application will allow the Organizers to provide a general customization of the UI theme (OPTIONAL).
F02.B: The application will allow the Organizers to provide informations about the team (MUST);

F03: The application will provide general informations about the conference

Level: MUST
Description: The application will provide components for showing some informations and pre-built pages. Organizers will be able to create their own customized pages by mixing the provided components

Sub-functionalities:

  • F03.A: The application will provide a component with a map to show where is the venue(MUST);
  • F03.B: The application will provide a component that shows a markdown content (MUST);
  • F03.C: The application will provide a component that shows informations about the team (MUST);
  • F03.D: The application will provide a component that shows informations about the sponsors (MUST);
  • F03.E: The application will provide a component that shows informations about the tickets (MUST);
  • F03.F: The application will provide a component for the footer (MUST);
  • F03.G: The application will provide generic customizable pages (MUST);
  • F03.H: The application will have a customizable theme (MUST);
  • F03.I: The application will get the routing rules from the configuration created by the Organizers (MUST).

F04: The application will provide informations about the agenda

Level: MUST

Sub-functionalities:

  • F04.A: The BackOffice will allow the Organizers to provide informations about the speakers (MUST);
  • F04.B: The BackOffice will allow the Organizers to provide informations about the talks (MUST);
  • F04.C: The BackOffice will allow the Organizers to provide informations about the scheduling of the talks (MUST);
  • F04.D: The BackOffice will allow the Organizers to import the agenda from Sessionize (RECOMMENDED);
  • F04.E: The application will provide a component that shows informations about the speakers (MUST);
  • F04.F: The application will provide a component that shows informations about the talks (MUST);
  • F04.G: The application will provide a page that shows the agenda (MUST);
  • F04.H: The application will provide social share buttons to share informations about a single talk (RECOMMENDED).

F05: The application will allow attendees to build their own personalized agenda

Level: SHOULD

Sub-functionalities:

F05.A: The application will allow a user to register with an email, or a Google, Facebook, X, Apple account (SHOULD);
  • F05.B: The application will allow a user to request the deletion of the account (MUST);
  • F05.C: The application will allow a registered user to mark a session as preferred (SHOULD);
  • F05.D: The application will allow a registered user to display the list of preferred sessions (SHOULD);
  • F05.E: The application will send a registered user notifications when a preferred session is about to begin (RECOMMENDED);
  • F05.F: The application will allow a registered user to configure the way the application will notify upcoming saved sessions (OPTIONAL);
  • F05.G: The BackOffice will allow the Organizers to show all the registered users (MUST);
  • F05.H: The BackOffice will allow the Organizers to delete a registered user (MUST).

F06: The application will be accessible by anyone

Level: MUST

Sub-functionalities:

F06.A: he application will be SEO friendly (SHOULD); * [INFRA10](https://github.com/gdgpescara/hedwig/issues/119) * [INFRA11](https://github.com/gdgpescara/hedwig/issues/120) * [INFRA13](https://github.com/gdgpescara/hedwig/issues/122)
F06.B: The application will be completely accessible (no a11y vulnerabilities) (MUST);
* **F06.B**: T(_**MUST**_); * **F06.C**: The application will support multi languages (_**SHOULD**_); * **F06.D**: The application will have a robust UX design (_**RECOMMENDED**_); * **F06.E**: The application will be responsive (_**MUST**_).

F07: The application will have a blog

Level: OPTIONAL

Sub-functionalities:

  • F07.A: The BackOffice will allow the Organizers to write blog articles using markdown (OPTIONAL);
  • F07.B: The BackOffice will allow the Organizers to classify blog articles using categories (OPTIONAL);
  • F07.C: The BackOffice will allow the Organizers to classify blog articles using tags (OPTIONAL);
  • F07.D: The BackOffice will allow the Organizers to set a title to a blog article (OPTIONAL);
  • F07.E: The BackOffice will allow the Organizers to add a main image to a blog article (OPTIONAL);
  • F07.F: The application will provide a component to show blog articles (OPTIONAL);
  • F07.G: The application will provide pages to show the blog (OPTIONAL);
  • F07.H: The application will allow to share a blog article using social sharing buttons (OPTIONAL).

F08: The application will allow to archive an edition of the conference

Level: OPTIONAL
Description: it could be very useful to link past editions of a conference's website. In some cases, past editions's websites will be created with different templates. Therefore, in those cases the application should just allow to link the website.
Otherwise, the application will allow the Organizers to archive the current edition, setting up a name for it, and create a new edition that will be served as the default one

Sub-functionalities:

  • F08.A: The BackOffice will allow Organizers to link past editions' external websites (OPTIONAL);
  • F08.B: The BackOffice will allow Organizers to archive current edition. This will automatically create a new edition, asking the Organizer to set a label to the archived one (OPTIONAL);
  • F08.C: The application will list past editions in the footer (OPTIONAL);
  • F08.D: The application will serve contents based on the edition requested using a path parameter (OPTIONAL).