Skip to content

LEIC-ES-2021-22/3LEIC04T5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3LEIC04T5 | Team name: UC Info

General Information

Group Members

Student Name Student Number
Afonso Carvalho up201807481
Benedita Bacelar up201909937
Fábio Rocha up202005478
Ricardo Pinto up201806849
Tiago Lourenço up202004374

Product Name: UC Info

Vision Stament

For all students who currently can't easily find all the information they need about their disciplines, UCInfo is an app that gathers all the relevant parts of it in one easily accessible place.
Unlike the current scattered and overly complex sources of this information, UCInfo delivers only the necessary information, on a mobile experience and with an extremely intuitive user experience.

Elevator Pitch

UCInfo is a way to access all the essential information about your courses fast and on your phone.
With it, students will never miss exam dates, grading criteria or any other must-know piece of information about the courses they’re enrolled in.
All while avoiding the need to open their laptops, signing into sigarra and having to spend time until finding the right page or sifting through unnecessary information for what you want.

Main Features

Curricular Unit Information Features

  • 1.1) Having a dedicated page for each Curricular Unit
  • 1.2) Displaying the CU's information organized by headings such as assessment components, exam eligibility, grade formula, and others.

Calendar

  • 2.1) Seamless integration of Moodle calendar with the app
  • 2.2) Ability to add in-app calendar events to third-party calendar services, such as Google Calendar or Apple Calendar

Notifications

  • 3.1) Notification dashboard with relevant information additions, modifications or deletions.
  • 3.2) Ability to send push notifications to user regarding

​ ​

Required API's

  • Sigarra API
  • Moodle API
  • External Calendar APIs
    • Google API
    • Apple API

Requirements

Use Cases

image

Name View Courses Information
Actor Student
Description The student views grading criteria, exam eligibility and other crucial information about each specific course
Preconditions - The student is enrolled in the courses he wants to view
- The student is logged in into their sigarra account.
Normal flow 1. The student accesses the UNI mobile app.
2. The system shows the list of courses the student is enrolled in.
3. The student selects the curricular unit he/she wants to see details for.
4. A new page displaying the grading criteria, classification formula, required bibliography and other key informations is displayed.

Name Integrated Moodle Calendar
Actor Student
Description The student has the events from his or her moodle calendar pulled and integrated into a calendar in the app
Preconditions - The student is enrolled in the courses he wants to get calendar information from
- The student is logged in into their moodle account.
Normal flow 1. The student accesses an in-app calendar page
2. The system shows the list of events such as delivery dates or exam dates inside the calendar.
3. The student can select one of these events leading him/her to the respective curricular unit page.

Name Notification Dashboard
Actor Student
Description The student is able to view important notifactions regarding each one of his/her enrolled courses, such as exam date and time changes or new moodle entry in "Alerts" section, for example.
Preconditions - The student is enrolled in the courses he wishes to receive notifications from.
Postconditions - Notifications viewed by the student are followed up or/and dismissed by the student.
Normal flow 1. The student logs in to the UNI app, and is informed he/she has new unseen notifications.
2. The student clicks the notification icon and a pop-up or page displays unseen notifications.
3. The student is able to read the notification and optionally click on it and be redirected to the relevant page.
4. The student is able to dismiss any single notification from the notification dashboard, or dismiss all notifications at once.
5. Student exits notification dashboard and is redirected to the last visited page (or static page such as main screen)
Alternative flows and exceptions 1. Student has no new/unread notification, and is displayed a "No new notification" message.

Name Student Push Notification
Actor Notification System
Description Sends produced notification to the actor Student.
Preconditions Student has opted into receiving push Notifications
Normal flow 1. Notification System recurringly fetches information from other actors, namely Sigarra and Moodle APIs.
2. System checks for modified data.
3. If new data is found, a new notification is produced based on the modified data.
4. Produced notification sent to actor Student's device.
Alternative flows and exceptions

Name Add to Notification Dashboard
Actor Notification System
Description Adds produced notification to Notification Dashboard
Postconditions - The Notification Dashboard is updated with the new notification(s) produced.
- Notifications older than 30 days old are deleted / dismissed.
Normal flow 1. Notification System recurringly fetches information from other actors, namely Sigarra and Moodle APIs.
2. System checks for modified data.
3. If new data is found, a new notification is produced based on the modified data.
4. Produced notification added to the Notification Dashboard.
Alternative flows and exceptions

Name Add Exams to personal Calendar
Actor Student
Description The student wants to add Exams to their personal calendar (on their device)
Preconditions - The student has exames in the "Mapa de Exames" section.
- The student has an external calendar app (Google or Apple).
Normal flow 1. The student accesses the "Mapa de Exames" section
2. The system shows the list of exams and their dates.
3. The student selects one of the exames and clicks add to calendar button.
3. The app sends to an external calendar API the information regarding the exam.

Domain Model

This domain model starts with a Course class that connects with the information class which indicates all the information topics about each course. At the same time all the courses have students (student class) that will receive notifications on the notification dashboard and on the students phone(Notification class) whenever there is a change or a new course information or exam date. Also the students class connects to the external calendar class and the app calender where the student will have the ability to add all the information to his/her personal calendar.

image

Architecture and Design

In this section you should start by briefly describing the overall components of the project and their interrelations. You should also describe how you solved typical problems you may have encountered, pointing to well-known architectural and design patterns, if applicable.

Logical architecture

Logical

Physical architecture

The goal of this subsection is to document the high-level physical structure of the software system (machines, connections, software components installed, and their dependencies) using UML deployment diagrams (Deployment View) or component diagrams (Implementation View), separate or integrated, showing the physical structure of the system.

It should describe also the technologies considered and justify the selections made. Examples of technologies relevant for uni4all are, for example, frameworks for mobile applications (such as Flutter).

Example of UML deployment diagram showing a deployment view of the Eletronic Ticketing System (please notice that, instead of software components, one should represent their physical/executable manifestations for deployment, called artifacts in UML; the diagram should be accompanied by a short description of each node and artifact):

DeploymentView

Vertical prototype

For the vertical prototype we have implemented a simple credit page where we display the name of our feature and who it was developed by.

Vertical Prototype

Product Demo

Simple demo showcasing product features, such as UNI app integration, Moodle Calendar, and Course specific page INFO

UCInfo.Product.Demo.mp4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •