Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.
José Miguel Isidro edited this page Jan 8, 2023 · 1 revision

ER: Requirements Specification Component

A1: EVUP - Events UP

EVUP (Events UP) is a project developed by a group of Informatics Engineering Students who consider that the management of University related events is significantly lacking in terms of usage and accessibility for students and event organizers.

The main goal of this platform is to allow Student Organizations and other academic entities to have a single space to advertise and manage upcoming events whilst giving the opportunity to offer some interaction with the users. This tool would boost the popularity of these events among students and also facilitate their promotion for the organizers.

Authenticated users who have a profile on the platform can request to join events, invite users, manage all events attended or apply for verification to organize them. If they become an attendee, they can view event messages, add comments, upload files, answer polls, view the attendee list and finally leave the event itself. As an event organizer, they can create and manage their own event’s details, create polls for the attendees, and answer comments. Administrators manage all the content on the platform,and thus can browse, view event details, delete them and manage event reports. They can also accept verification requests for event creators. Those who are not authenticated, can still have access to the main page where they can still search for events by name, category and tag.

EVUP has five different user groups with different permissions: Administrators who manage all authenticated users. Authenticated users who have a profile on the platform and can become either attendees or event creators; Attendees who can interact and check other details on the event page; and finally Event creators, who besides having all the permissions of attendees on their own events, can also manage all the features related to them. As non-authenticated users, this group can still access the homepage of the platform and can sign-up so they have access to all the other features signed-in users have.


A2: Actors and User stories

This artifact contains the specification of the actors and their user stories, while also describing its business rules and constraints.

2.1. Actors

For the EVUP system, the actors are represented in Figure 1 and described in Table 1.

ActorsDiagram

Figure 1: EVUP actors

Identifier Description
User Generic user that has access to public information, such as browse and search public events.
Authenticated User Authenticated user that has signed up and thus can invite to an event or participate in events
Visitor Generic user that has not sign-up
Attendee Authenticated user that can interact and see more information about events
Organizer Attendee to its own event that can change the existing information about events and manage them and their attendees
Administrator User that is responsible for the management of users and events and for some specific supervisory and moderation functions
OAuth API External OAuth API that can be used to register or authenticate into the system (low priority feature)

Table 1: EVUP actors description.

2.2 User Stories

For the EVUP system, consider the user stories that are presented in the following sections.

User

Identifier Name Priority Description
US01 Browse Events high As a User, I want to browse events, so that I can see all the current public events available
US02 View Public Event high As a User, I want to access the event page, so that I can see a complete description of it
US03 Search Events high As a User, I want to search the platform keywords, so that I can quickly find events that I am looking for
US04 Explore Events by Tag medium As a User, I want to explore events by tag, so that I can see events that match my preferences
US05 See About Us medium As a User, I want to access the about page, so that I can see a complete description of the website and its creators
US06 Consult Main Features medium As a User, I want to access the features information, so that I can see the website's main features
US07 Consult Contacts medium As a User, I want to access contacts, so that I can come in touch with the platform creators
US08 Appeal for Unban (unblock) low As a User, I want to appeal for unban, so that I can regain access to my account in the event it has been unjustifiably blocked

Table 2: User user stories.

Visitor

Identifier Name Priority Description
US09 Sign-in high As a Visitor, I want to authenticate into the system, so that I can access privileged information
US10 Sign-up high As a Visitor, I want to register myself into the system, so that I can authenticate myself into the system
US11 OAuth API Sign-in low As a Visitor, I want to sign-in through my Google account, so that I can authenticate myself into the system
US12 OAuth API Sign-up low As a Visitor, I want to register a new account linked to my Google account, so that I do not need to create a whole new account to use the platform

Table 3: Visitor user stories.

Authenticated User

Identifier Name Priority Description
US13 Request to be Event Organizer high As an Authenticated User, I want to request to be an event organizer, so that I’m able to create events
US14 Invite Users to Public Event high As an Authenticated User, I want to invite users to public events, so that they can join me in events I’m attending
US15 Manage Events Attended / to Attend high As an Authenticated User, I want to manage my events attended / to attend, so that I can add and remove events if I need to
US16 View Profile high As an Authenticated User, I want to view my profile, so that I can access my information
US17 Edit Profile high As an Authenticated User, I want to edit my profile, so that I can change my information
US18 Logout high As an Authenticated User, I want to logout, so that I can exit my account
US19 Request to Join Event medium As an Authenticated User, I want to request to join an event, so that I can attend said event
US20 Add a Profile Picture medium As an Authenticated User, I want to add a profile picture to my profile, so that other users can know what I look like
US21 View Personal Notifications medium As an Authenticated User, I want to view personal notifications, so that I can up-to-date with all my events
US22 Recover Password medium As an Authenticated User, I want to recover my password, so that I can access my account in case I forgot my password
US23 Delete Account medium As an Authenticated User, I want to delete my account, so that my information can be deleted, in case I don’t use the platform anymore
US24 Purchase Ticket to Event low As an Authenticated User, I want to purchase a ticket to an event, so that I can attend said event
US25 Report Event low As an Authenticated User, I want to report an event, so that an administrator removes said event from the platform

Table 4: Authenticated User user stories.

Attendee

Identifier Name Priority Description
US26 View Event Comments medium As an Attendee, I want to view event comments, so that I can get more detailed information about this event
US27 Add Comments medium As an Attendee, I want to add comments, so that I can express my opinion or ask some questions about an event
US28 Answer Polls medium As an Attendee, I want to answer polls, so that I can show my preferences about something related to the event
US29 Upload Files medium As an Attendee, I want to upload files, so that I can share more content with other users
US30 Vote in Comments medium As an Attendee, I want to vote in the comments, so I can show that I consider the comment relevant
US31 View Attendees List medium As an Attendee, I want to view the attendees list, so that I can get to know who is going to the event
US32 Leave Event medium As an Attendee, I want to leave the event, so that I cannot see information related to it in case I don't want/can't attend
US33 Edit comments medium As an Attendee, I want to edit my comment, so that I can correct some mistakes and reflect my current thinking
US34 Delete Comment medium As an Attendee, I want to delete a comment, so that other users cannot read it anymore
US35 Reply Comments low As an Attendee, I want to reply to comments, so that I can interact with other attendees
US36 View Event Tickets low As an Attendee, I want to view event tickets, so that I can see what tickets exists and choose one that interests me

Table 5: Attendee user stories.

Event Organizer

Identifier Name Priority Description
US37 Edit Event Details high As an Event Organizer, I want to edit an event’s details, so that I can keep the attendees informed
US38 Add User to Event high As an Event Organizer, I want to add an user to a event, so that they can attend said event
US39 Manage Event Participants high As an Event Organizer, I want to manage an event’s participants, so that I can make any changes to the participants’ list
US40 Create Polls medium As an Event Organizer, I want to create polls, so that I can gather information on the attendees’ preferences regarding the event
US41 Cancel Event medium As an Event Organizer, I want to cancel an event, so that I can alert the attendees in case of an emergency
US42 Manage Event Visibility medium As an Event Organizer, I want to manage event visibility, so that I can change the event’s visibility
US43 Manage Available Tickets low As an Event Organizer, I want to manage available tickets, so that I can change the number of available tickets
US44 Send Event Invitations low As an Event Organizer, I want to send event invitations, so that I can invite other students
US45 Manage Join Requests in Public Events low As an Event Organizer, I want to manage join requests in public events, so that I can accept/deny those participants
US46 Manage Join Requests in Private Events low As an Event Organizer, I want to manage join requests in private events, so that I can accept/deny those participants
US47 Answer Comments low As an Event Organizer, I want to answer comments, so that I can answer any questions the participants may have
US48 Event Dashboard low As an Event Organizer, I want to access an event dashboard, so that I can manage all information regarding my event (that being event details, participants and join requests)

Table 6: Event Organizer user stories.

Administrator

Identifier Name Priority Description
US49 Remove comments high As an Admin, I want to remove a comment, so that I can remove inappropriate content
US50 Ban and Unban (block and unblock) user high As an Admin, I want to ban a user from the system, so that he can no longer access restricted contents of the site
US51 Delete Event high As an Admin, I want to delete events from the platform so they can no longer be accessed or viewed by authenticated users
US52 Verify Event Organizer high As an Admin, I want to give some authenticated users permissions of an event organizer
US53 Browse Events high As an Admin, I want to browse events, so that I can see all the current public events available
US54 View Event Details high As an Admin, I want to see event’s details, so that I can check if its content is within the website’s terms
US55 Manage Event Reports high As an Admin, I want to be able to manage all the event reports, so I can easily keep track and take action
US56 Cancel (delete) Event medium As an Admin, I want to cancel events, so that I remove any event that doesn't respect the website’s terms
US57 Administrator Accounts medium As an Admin, I want to create new administrator accounts, so that I can add new accounts with administrator privileges if necessary
US58 Administer User Accounts (search, view, edit, create) medium As an Admin, I want to manage all user accounts, so that I can search, view, edit or create new accounts
US59 Delete User Account medium As an Admin, I want to be delete user accounts, so that I can remove any users who don't respect website’s terms
US60 View Unban (unblock) appeals low As an Admin, I view all the unban appeals, so that I can unban users I believe were wrongly banned
US61 View User Contact Submissions low As an Admin, I view all the contact submissions, so that I stay in touch with the community and be listen to suggestions, bug findings, etc
US62 Admin Dashboard low As an Admin, I access an admin dashboard, so that I can easily access all of my administrative tools

Table 7: Admin user stories

2.3. Supplementary Requirements

Consider the following section including business rules, technical requirements, and restrictions, regarding EVUP’s system.

Business rules

Identifier Name Description
BR01 Account Deletion Upon account deletion, shared user data (e.g. comments, votes) is kept but is made anonymous
BR02 Events Privacy Events can be public or private. Private events are not shown in search results
BR03 Administrator Administrator accounts are independent of the user accounts, i.e. they cannot create or participate in events
BR04 Vote in Comments Users cannot vote on their own comments
BR05 Invitations Users cannot invite themselves or invite another user more than once to the same event
BR06 Polls Attendees cannot respond to the same poll more than once
BR07 Dates and times The event end date and time must be greater than the start date and time

Table 8: EVUP business rules.

Technical requirements

Technical requirements are the technical issues that must be considered to successfully complete a project. They are factors required to deliver a desired function or behavior from a system to satisfy a user’s standards and needs. The highlighted ones are the technical requirements that are the most critical to our project.

Identifier Name Description
TR01 Availability The website must be available most of the time, during night and day, so whenever a user wants to access the website they can.
TR02 Accessibility The website needs to be accessible for everyone, so the website needs to be designed and developed so that people with disabilities can use them.
TR03 Usability

The website needs to be intuitive so that people can learn easily how to use it.

It is crucial that the website is easy to use for every audience, so that everyone can take advantage of the platform.

TR04 Performance The website needs to be fast and cannot give high response times or else users will be distracted/annoyed.
TR05 Web Application It's important that the project is implemented as a web application using, as an example, HTML5, JavaScript, CSS3 and PHP. It’s important that the user doesn’t need to install extra applications to access the website.
TR06 Portability The website needs to work with different operating systems and not only the one that it was originally created for. It should be independent of the platform.
TR07 Database The PostgreSQL database management system must be used, with a version of 11 or higher.
TR08 Security The website needs to be secure. No user cannot log into their account without their password.
TR09 Robustness The website should not stop working when runtime errors occur.
TR10 Scalability

The website must be prepared to be expanded when the number of users grows.

In case of high demand (due to an event, for instance), the website must remain available.

TR11 Ethics The website needs to be respectful of the ethical principles of web developing, for example, always asking for consent of the user when using their information.

Table 9: EVUP technical requirements.

Restrictions

Identifier Name Description
C01 Deadline The system should be ready to be used at the end of the semester

Table 10: EVUP project restrictions.


A3: Information Architecture

The goal of this artefact is to help identify the navigation system of the website while also provinding a brief preview of how the information is organized and displayed.

3.1. Sitemap

The EVUP system is organized in four main areas, the static pages that provide general information about the system (Static Pages), the pages used to explore and access the items collection (Events Library), the individual user page (User Pages), and the pages with administration features (Admin Pages).

Sitemap.svg

Figure 2: EVUP Sitemap

3.2. Wireframes

For the EVUP system the wireframes for the Main Page and the Event Page are presented in Figures 2 and 3, respectively.

1 Figure 3: Main Page wireframe

wireframe_event Figure 4: Event wireframe

Revision History

Changes made to the fisrt submission:

  • Added A1, A2 and A3
  • Added/edited User Stories to match the current features implemented
  • Added US08|Appeal for Unban (unblock), US35|Reply Comments, US59|View Unban (unblock) appeals and US60|View User Contact Submissions
  • Editor for the first submission: José Miguel Isidro
  • Last Changed: 28/12/2022

GROUP2223