Team name

Members

Hugo Gomes - up202004343
Diogo Silva - up202004288
Lia Vieira - up202005042
João Moreira - up202005035
João Araújo - up202007855

Product Name

Vision Stament

A calendar to provide a more organized life to the everyday student, since nothing is worse than realizing that your deadline was yesterday.

Main Features

  • Calendar within the UNI application displaying evaluation moments and other personal events.
  • Movement between months with a slide interaction.
  • Exams that show up correspond to the user's course and disciplines.
  • The user is able to check details about the exams/deliveries by clicking on the specific event.
  • Evaluation moments are up to date with the backend information at all moments.
  • Users can add personal events and manage them.

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Requirements

Use case model

Uml user

Visualize the calendar

Name Visualize the calendar
Actor Student
Description Allows the user to navigate the calendar. The user can navigate by day, week, or month.
Preconditions -The user needs to be authenticated.
Normal flow 1. The user opens the calendary section on the app
2. The calendar is loaded with data of evaluation moments
3. The application shows the calendar
4. The user can visualize the calendar and navigate on it as well
5. The user can click on an event to check data about it
Alternative flows and exceptions None.

Add an event

Name Add an event
Actor Student
Professor
Description Allows the user to add one or more events to the calendar. The user introduces information about the date and the topic each event. If it's added by a professor, the event will be available for all users. If it's added by a student, the event will be visible on the student's calendar.
Preconditions -The user has internet access.
-The user wants to add an event.
Postconditions -The information of an event is added to the calendar.
Normal flow 1. The user can add an event by clicking on a date in the calendar
2. The application reveals several fields about the new event
3. The user completes those fields
4. The user concludes the operation (confirming the addition of the event)
Alternative flows and exceptions 1. The user can leave some fields incomplete
2. The user can cancel the operation

Add a delivery date

Name Add a delivery date
Actor Professor
Description Allows the professor to add a delivery date of a project. The professor introduces the deadline date.
Preconditions -The user has internet access.
-The professor wants to add a delivery date.
Postconditions -The delivery date is added to the assignment.
Normal flow 1. The teacher can add a delivery date, originating a "major" event which shows up on all calendars of students related to it.
Alternative flows and exceptions 1. The teacher can add a new delivery date to an already existing event.

Manage an event

Name Manage an event
Actor Student
Professor
Description Allows the user to update one or more events to the calendar. The user can change information about the date and the topic of an event or delete it.
Preconditions - The user wants to add an event.
Postconditions - The information of an event is updated to the calendar.
Normal flow 1. The user can edit an event by clicking on it in the calendar (students can't customize "major" events such as evaluation moments).
2. The application reveals several fields about the already existing event.
3. The user edits some fields.
4. The user concludes the operation (confirming the new updates).
Alternative flows and exceptions 1. The user can leave the fields as they were.
2. The user can cancel the operation.

Domain model

Domain_model

Architecture and Design

Logical architecture

packagediagram

Calendar events system:

  • Calendar GUI (interface that allows users to visualize the calendar and interact with it)
  • Events UI (interface which makes the management of university events possible for users)
  • User validation application (user course detection and student/teacher permissions)
  • Events distribution logic (logic by which the system of university events is established)
  • Events database schema (where data regarding events is stored)

External services:

  • UNI Backend (the university system)

Physical architecture

physical_architecture

Vertical Prototype

For now the group has started to interact with the flutter tool. Therefore, we started by printing the group number and printing the tool name we intend to work with.