-
Notifications
You must be signed in to change notification settings - Fork 0
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.
This artifact contains the specification of the actors and their user stories, while also describing its business rules and constraints.
For the EVUP system, the actors are represented in Figure 1 and described in Table 1.
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.
For the EVUP system, consider the user stories that are presented in the following sections.
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.
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.
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.
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.
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.
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
Consider the following section including business rules, technical requirements, and restrictions, regarding EVUP’s system.
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 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.
Identifier | Name | Description |
---|---|---|
C01 | Deadline | The system should be ready to be used at the end of the semester |
Table 10: EVUP project restrictions.
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.
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).
Figure 2: EVUP Sitemap
For the EVUP system the wireframes for the Main Page and the Event Page are presented in Figures 2 and 3, respectively.
Figure 3: Main Page wireframe
Figure 4: Event wireframe
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
- Daniela Tomás, up202004946@edu.fc.up.pt
- Hugo Almeida, up202006814@edu.fe.up.pt
- José Miguel Isidro, up202006485@edu.fe.up.pt
- Sara Moreira Reis, up202005388@edu.fe.up.pt