Fems Final
Fems Final
FPT UNIVERSITY
SEP490_G2
Nguyễn Minh Hùng HE153613
Nguyễn Minh Hoàng HE153789
Group Members Vũ Hoàng Phúc HE153693
Đinh Xuân Hoàng HE151343
Nguyễn Quang Hiếu HE153633
1 | Page
Table of Contents
Acknowledgement .................................................................................................................................. 6
Definition and Acronyms ........................................................................................................................ 7
I. Project Introduction ............................................................................................................................. 8
1. Overview ......................................................................................................................................... 8
1.1 Project Information ................................................................................................................... 8
1.2 Project Team ............................................................................................................................. 8
2. Product Background........................................................................................................................ 8
3. Existing Systems ............................................................................................................................ 10
3.1 Manual system ........................................................................................................................ 10
3.2 Feexp.space website ............................................................................................................... 11
4. Business Opportunity .................................................................................................................... 12
5. Software Product Vision ............................................................................................................... 12
6. Project Scope & Limitations .......................................................................................................... 13
6.1 Major Features ........................................................................................................................ 13
6.2 Constraints & Assumptions ..................................................................................................... 14
6.3 Limitations & Exclusions ......................................................................................................... 15
II. Project Management Plan ................................................................................................................ 16
1. Overview ....................................................................................................................................... 16
1.1 Scope & Estimation ................................................................................................................. 16
1.2 Project Objectives ................................................................................................................... 19
1.3 Project Risks ............................................................................................................................ 20
2. Management Approach ................................................................................................................ 21
2.1 Project Process ........................................................................................................................ 21
2.2 Quality Management .............................................................................................................. 22
2.3 Training Plan............................................................................................................................ 23
3. Project Deliverables ...................................................................................................................... 23
4. Project Organization ..................................................................................................................... 24
4.1 Team Structure ....................................................................................................................... 24
4.2 Roles and Responsibilities ....................................................................................................... 24
5. Responsibility Assignments ........................................................................................................... 25
6. Project Communications ............................................................................................................... 26
7. Configuration Management .......................................................................................................... 26
2 | Page
7.1 Document Management ......................................................................................................... 26
7.2 Source Code Management...................................................................................................... 26
7.3 Tools & Infrastructures ........................................................................................................... 27
III. Software Requirement Specification ............................................................................................... 28
1. Product Overview ......................................................................................................................... 28
2. User Requirements ....................................................................................................................... 28
2.1 Actors ...................................................................................................................................... 28
2.2 Use Cases ................................................................................................................................ 30
3. Functional Requirements .............................................................................................................. 41
3.1 System Functional Overview ................................................................................................... 41
3.2 Authentication ........................................................................................................................ 50
3.3 View Homepage ...................................................................................................................... 56
3.4 Manage your account ............................................................................................................. 62
3.5 View event .............................................................................................................................. 66
3.6 Manage your event ............................................................................................................... 105
3.7 Manage category .................................................................................................................. 143
3.8 Manage event ....................................................................................................................... 151
3.9 Manage account.................................................................................................................... 163
3.10 Manage campus .................................................................................................................. 174
3.11 Manage building ................................................................................................................. 178
3.12 Manage television ............................................................................................................... 189
3.13 Manage group ..................................................................................................................... 195
3.14 Manage notifications .......................................................................................................... 214
4. Non-Functional Requirements .................................................................................................... 215
4.1 External Interfaces ................................................................................................................ 215
4.2 Quality Attributes.................................................................................................................. 215
5. Requirement Appendix ............................................................................................................... 216
5.1 Business Rules ....................................................................................................................... 216
5.2 Application Messages List ..................................................................................................... 217
IV. Software Design Description ......................................................................................................... 219
1. System Design ............................................................................................................................. 219
1.1 System Architecture .............................................................................................................. 219
1.2 Package Diagram ................................................................................................................... 220
2. Database Design.......................................................................................................................... 222
3. Detailed Design ........................................................................................................................... 235
3.1 Authentication ...................................................................................................................... 235
3 | Page
3.2 View Homepage .................................................................................................................... 238
3.3 Manage your account ........................................................................................................... 240
3.4 View Event ............................................................................................................................ 242
3.5 Manage Your Event ............................................................................................................... 263
3.6 Manage Category .................................................................................................................. 280
3.7 Manage Event ....................................................................................................................... 284
3.8 Manage Account ................................................................................................................... 291
3.9 Manage Campus ................................................................................................................... 297
3.10 Manage Building ................................................................................................................. 300
3.11 Manage Television .............................................................................................................. 304
3.13 Manage Group .................................................................................................................... 309
3.14 Manage Notification ........................................................................................................... 320
V. Software Testing Documentation ................................................................................................... 321
1. Scope of Testing .......................................................................................................................... 321
1.1 Stages of testing .................................................................................................................... 321
1.2 Types of testing ..................................................................................................................... 322
1.3 Range of testing .................................................................................................................... 322
2. Test Strategy ............................................................................................................................... 322
2.1 Testing Model ....................................................................................................................... 322
2.2 Testing Types......................................................................................................................... 322
2.3 Test Levels ............................................................................................................................. 323
2.4 Supporting Tools ................................................................................................................... 323
3. Test Plan ...................................................................................................................................... 323
3.1 Human Resources ................................................................................................................. 323
3.2 Test Environment .................................................................................................................. 324
3.3 Test Milestones ..................................................................................................................... 324
4. Test Cases.................................................................................................................................... 324
5. Test Reports ................................................................................................................................ 325
5.1 Unit Testing ........................................................................................................................... 325
5.2 Integration Test ..................................................................................................................... 326
5.3 System Test ........................................................................................................................... 328
5.4 Acceptance Test .................................................................................................................... 329
VI. Release Package & User Guides..................................................................................................... 332
1. Deliverable Package .................................................................................................................... 332
2. Installation Guides ...................................................................................................................... 332
2.1 System Requirements ........................................................................................................... 332
4 | Page
2.2 Installation Instruction .......................................................................................................... 332
3. User Manual ................................................................................................................................ 354
3.1 Overview ............................................................................................................................... 354
3.2 User guideline ....................................................................................................................... 354
5 | Page
Acknowledgement
Firstly, we wish to express our deepest gratitude to our supervisor, Mr. Bui Dinh Chien, for his
continuous sharing and motivation throughout this project. With the encouragement and advice he
has provided throughout our time as his students, we felt that we are extremely lucky to have a
supervisor who cared so much about our work, and who responded to our questions and queries so
promptly.
It is also our pleasure to receive assistance from Mr. Phan Tuong Lam, Mr. Do Huu Phat, Mrs. Cao
Thanh Hien and Mr. Tran Van Thuan with valuable up-to-date information concerning fundamental
requirements, admission rate and enthusiastic support. Working and learning from you is a rewarding
experience for us
Last but not least, we would like to gratefully thank all of Teachers for being there to guide us, inspiring
us with a love for learning. We hope you will find this project as a reflection of the knowledge and
experiences you have given us during this period of four years.
6 | Page
Definition and Acronyms
Acronym Definition
LI Limitations
BA Business Analysis
BR Business Rule
PM Project Manager
UC Use Case
SI Software Interfaces
UI User Interfaces
USB Usability
SE Security
PE Performance
7 | Page
I. Project Introduction
1. Overview
1.1 Project Information
Web Development Team
• Project name: FU's Event Management
• Project code: FEMS
• Group name: SEP490_G2
• Software type: Web Application
2. Product Background
FPT University is a leading higher education institution in Vietnam, known for its diverse student
community and vibrant campus life. With a growing number of students, there has been an increasing
demand for various events and activities organized by the university and its groups. However, there
was a lack of a centralized system to manage these events effectively in the past.
To solve this problem, FPT University has agreed to let G2 group develop the FU's Event Management
website to streamline the process of organizing and managing events on campus. The website includes
key features such as event management, feedback management, student management, and group
event management, catering to the specific needs of groups and organizations within the university.
The FU's Event Management website is designed with a user-friendly interface, making it easy to
navigate and use. It integrates various functionalities to meet the requirements of different
stakeholders, including students, groups, and university staff. It provides a centralized database of
events happening in the university, allowing students to easily register for events, access
comprehensive event information, and provide feedback. This improves professionalism,
transparency, and responsiveness in event management at FPT University.
With the event management website, organizing events on campus has become easier and more
efficient, enhancing the experience of students participating in events and contributing to a dynamic,
diverse, and thriving learning and campus life environment at FPT University.
8 | Page
Figure 2.1: Introductory email
9 | Page
Figure 2.1: Official group chat
3. Existing Systems
3.1 Manual system
Overview: Currently, FPT University is managing and organizing events manually. The steps to
organize an event currently include:
1. Planning: The event officers of the university will be responsible for planning, which includes
determining the type of event, start and end dates, number of participants, images to be used, venue,
personal information, costs, and collaborators (ticketing officers). The event officers will inform the
relevant parties of the event by creating a chat group, currently using Messenger or Zalo, and then
adding the relevant parties to the chat group. Regular meetings will be held here to discuss costs,
documents, and approaches to reaching students and high school students (usually through fanpages,
teacher communication, creating posters, banners, and for large events, sending emails to students.
Currently, registration is done by filling in information on a Google Form link). After reaching a
consensus, a request will be submitted for approval by the Head of the organizing department.
10 | Page
2. Pending: The Head of the organizing department will review the information of the event
proposed by the event officers. The information will be reviewed and revised if necessary.
3. Openning: Once the event is approved, it will move to the implementation phase. During this
phase, the registration links for the event will be publicized on fanpages, emails, and communication
channels of the university. At this point, students can register for the event, and for events with tickets,
students will have to come and collect the tickets.
4. Happening: When the time specified in the planning phase arrives, the event will start, and
registered students can participate. Depending on the type of event, event officers will take
attendance for students (if necessary), usually using an Excel file (searching for student codes and
ticking off one by one).
5. Closed: The event will end on the date declared in the planning phase. At this stage, students
can provide feedback on the event and evaluate it through Google Form. Event officers will compile
the feedback information in an Excel file to write a report for the department head. They will also
upload event documents to Google Drive and OneDrive.
Limitations:
Link: https://www.feexp.space/
Feature: Show event detail, event series, preview event video.
Pros:
1. Friendly interface.
Cons:
11 | Page
3. Limited functionality.
4. Business Opportunity
The event management website for FPT University presents several business opportunities that can
be explored to generate revenue and create value for the university community. These opportunities
include:
Event Sponsorship: The website can serve as a platform for event sponsors to promote their products
or services to the FPT University community. Sponsors can be invited to support various events
organized by the university, such as conferences, workshops, and competitions, in exchange for
sponsorship fees. This creates a win-win situation where sponsors gain exposure and reach their target
audience, while the university generates revenue to support event expenses and enhance the overall
quality of events.
Advertisement: The website can also offer advertising opportunities for local businesses, service
providers, or other relevant organizations to promote their offerings to the FPT University community.
This can be in the form of banner ads, sponsored content, or featured listings, generating revenue
through advertising fees. By carefully selecting advertisers that align with the university's values and
interests, the website can create a valuable advertising platform that benefits both advertisers and
the university.
Enhance the prestige and image of FPT University: A modern and professional event management
system helps to enhance the prestige and image of FPT University in the community of students,
teachers, sponsors, and students. general public. Providing a responsive and convenient experience
for event management, feedback management, and group management will help increase user
satisfaction, contributing to a positive and trustworthy image. of FPT University, thereby attracting
the interest of students, teachers, cooperation partners and potential sponsors.
The product will help students have a better experience in registering and participating in school
events, enhance interaction and communication in the student community, as well as enhance their
skills and learning experience. outside the lecture hall. At the same time, the product will also support
school groups to manage their events effectively, conveniently and professionally.
The product also meets the needs of lecturers and administrative staff in organizing event activities,
managing student information, registering and managing webinars, sending announcements and
news to the community. co-students. The product will help optimize the event management process,
save time and resources, and improve the quality and efficiency of school events.
12 | Page
In general, the Product Vision of FPT University's event management website is to become a leading
software product that fully meets the university's needs in event management, providing a good
experience. best for users, creating diverse values and benefits for users. Products will develop and
improve continuously, accompanying the development of FPT University, responding to technology
trends and changes in the field of event management.
2 Student User who has an account can use all the service of the website.
Guest, Student,
This feature allow user to join, and perform certain action base
1 Authentication Organizer,
on their account's role.
Manager, Admin
This feature will show a user the homepage corresponding to Student, Organizer,
2 View Homepage
the given role. Manager, Admin
This feature will enable the user to see information directly Student, Organizer,
3 Manage your account
from famous FAP systems and edit some of them. Manager, Admin
Student, Organizer,
4 View event Allow user to view Event calendar
Manager, Admin
This allows the Organizer to create, edit, and save draft his/her
5 Manage your event Organizer
created event within a FEMS system.
8 Manage account This allows Admin to manage the FEMS account. Admin
13 | Page
This allows Admin to create, edit and delete campuses within
9 Manage campus Admin
FEMS.
This allows users who logged in the FEMS to see, create , edit, Student, Organizer,
12 Manage group
change leader of a group. Manager, Admin
If system have any update it will be notice in the notification Student, Organizer,
13 Manage notifications
box. Manager, Admin
CT-1: Maintain the SEC (Student Event Calendar) project which was developed by YPHDT Team in
2019
14 | Page
CT-2: Have feature of feexp.space website
CT-3: The FEMS website must be designed to support QR applications and Television App.
15 | Page
II. Project Management Plan
1. Overview
1.1 Scope & Estimation
In this process of defining requirements, our team has discussed, and based on our study and personal
life schedule, we have come to an agreement that all of us will spend 4 hours a day and work 6 days
per week to dedicate to the capstone.
Est. Effort
# WBS Item Complexity
(man-days)
1 Authentication 21
2 View Homepage 42
2.1 View Homepage Complex 42
3 Manage your account 9
4 View event 79
16 | Page
4.15 Register event Complex 5
6 Manage category 16
17 | Page
7 Manage event 28
8 Manage account 34
9 Manage campus 17
10 Manage building 23
11 Manage television 24
18 | Page
12 Manage group 33
13 Manage notifications 10
Test No. of % of
# Testing Stage Notes
Coverage Defects Defect
1 Reviewing 100% 0 0
19 | Page
1.3 Project Risks
# Risk Description Impact Possibility Response Plans
Project Team Make rules and penalties for member who
1 doesn’t meet High Medium misses deadline and work overtime to
deadline complete tasks.
Work overtime to Project Manager must find out the root
2 High Medium
complete tasks cause of the conflict and resolve it.
Lack of knowledge
Technical Leader must support members
3 about technology High Low
for them to increase skill and knowledge.
used in project
Change in Project Manager and the team must
4 High High
requirements review any new updates to requirements.
Discuss requirements carefully with the
customer
Misunderstanding Any ambiguity in understanding
5 High Low
of requirements requirements of team members will be
recorded and handed to supervisor to
clarify with customer.
Demo in local host and change the
FAP API connection of project to FAP test API.
6 High Low
connection Connect with devops of FPT university to
fix API.
Provide detailed schedule in advance and
Absence of team
7 Medium Medium find another time to meet or work
members
overtime
20 | Page
2. Management Approach
2.1 Project Process
Based on the actual request of the customer, the FEMS project will maintain the SEC (FPT Student
Event Calendar) project and add the features of the website https://www.feexp.space/. So it can be
understood. The scopes of the FEMS project will include 2 parts: development and maintenance. In
addition, after carefully researching, the FEMS development team decided to choose the iterative and
incremental software process model due to the properties of this model:
● Flexibility: The iterative and incremental approach allows for flexibility in adapting to changing
requirements and priorities, which is common in both maintenance and development projects. It
enables teams to adjust and refine the software incrementally, based on user feedback, changing
business needs, and emerging technologies.
● Early Value Delivery: The iterative and incremental model emphasizes delivering usable
software increments early and often. This enables maintenance teams to quickly address critical
issues, fix bugs, and make enhancements, resulting in early value delivery to users. It also helps in
development projects by enabling the development of core functionalities in early iterations, which
can be reviewed and validated by stakeholders.
21 | Page
● Risk Mitigation: The iterative and incremental model helps mitigate risks by enabling early
identification and resolution of issues. Smaller iterations allow teams to quickly identify and address
potential problems, reducing the risk of significant issues surfacing later in the project. In maintenance
projects, this can help in timely resolution of critical issues, minimizing the impact on users.
● Faster Time to Market: The iterative and incremental approach can accelerate time to market
by delivering usable increments early, which can be valuable for both maintenance and development
projects. It allows for quicker response to changing business needs, faster feedback incorporation, and
shorter development cycles, resulting in quicker time to market for new features or bug fixes.
● Enhanced Collaboration: The iterative and incremental model promotes collaborative work
among team members and stakeholders. Regular communication, feedback, and involvement of
stakeholders foster a shared understanding of project goals, requirements, and progress. This helps
in building a collaborative culture, resolving conflicts, and ensuring that everyone is aligned towards
the common goal of project success.
In conclusion, the iterative and incremental process model is a widely adopted approach in both
software development and maintenance projects due to its flexibility, early value delivery, continuous
improvement, risk mitigation, stakeholder engagement, faster time to market, and enhanced
collaboration. It can help teams effectively manage changing requirements, deliver value early, and
continuously improve their processes, resulting in successful project outcomes.
22 | Page
● Team member will be responsible for repairing those defects.
3. Project Deliverables
23 | Page
Project Schedule
3 Report 2 02/02/2023
Project Management Plan
4 Report 3 08/02/2023 Screen Design
Architectural Design & Detail Design
5 Report 4 13/02/2023
Database Design
Source Code
Code & Implement
6 14/02/2023 Unit Test cases & report
Iteration 1
Integration Test cases & report
Test plan, test result, unit test, iteration test,
7 Report 5 22/04/2023
system test, accpetance test
Source Code
Unit Test cases & report
Code & Implement
8 18/03/2023 Integration Test cases & report
Iteration 2
System Test cases & report
User Acceptance Tes
8 Report 6 24/04/2023 User Guides
Final Report Final Report
10 Final Product 26/04/2023 User Guides
Presentation Presentation Slides
4. Project Organization
4.1 Team Structure
Role Responsibility
Quality Assurance Manager ● Verify the quality of all test cases, code and document .
24 | Page
● Create test plan .
Test Leader ● Monitor testing activities and assign testing tasks to test
members.
5. Responsibility Assignments
D~Do; R~Review; S~Support; I~Informed; <blank>- Omitted
Hoangnmhe153789
Hoangdxhe151343
Hungnmhe153613
Phucvhhe153693
Hieunqhe153633
Responsibility
25 | Page
Prepare Test Document D R,D D D D
Prepare other Documents R,D D D D D
6. Project Communications
7. Configuration Management
7.1 Document Management
● Management Tools:
○ Google Drive
○ GitLab
● Team leader assigns and describes tasks through Zalo and Excel. All Documents will be
submitted to management tools to keep track of changes. Team leader then collects them all to submit
to the mentor.
26 | Page
7.3 Tools & Infrastructures
Category Tools / Infrastructure
Technology ASP.NET MVC, Entity Framework.
Database MySQL 2019
IDEs/Editors Visual Studio 2017
Diagramming DrawIO, Lucidchart
Documentation Google Docs/Sheets/Slides
Version Control GitLab (Source Codes), Google Drive (Documents)
Deployment server FPT cloud server
Communication tools Facebook; Messenger; Google Meet; Zalo
Project management Excel (Schedule), GitLab (Tasks, Defects)
27 | Page
III. Software Requirement Specification
1. Product Overview
● FEMS (FU's Event Management) The system allows students to access FPT University
events and search for events that are appropriate for their schedule and major. FEMS allows FPT
University employees to manage events, respond to events, and store event information via a Google
Drive link. Furthermore, the system simplifies the current event ticketing process by generating tickets
with a QR code.
2. User Requirements
2.1 Actors
No Actor Description
1 Guest Everyone who does not login into the FEMS system.
28 | Page
through a personal calendar (in the form of a weekly schedule) and see
their profile of extracurricular activities.
The manager is the users with the right to decide whether an event can
go public. They are officials of event organizers, depending on the type
of event that each department can accept or reject events that are
being requested from the Organizer role. After being "accepted", the
4 Manager
event will be readable for all students. Managers can keep track of all
event information as well as information about event participants. This
information will be presented in tables and statistics so that they can
quickly grasp existing problems.
29 | Page
2.2 Use Cases
2.2.1 Diagram(s)
30 | Page
Figure 2.2.1.2: Student’s use case
31 | Page
Figure 2.2.1.3:. Organizer’s use case
32 | Page
Figure 2.2.1.4: Manager’s use case
33 | Page
Figure 2.2.1.5: Admin’s use case
34 | Page
2.2.2 Descriptions
35 | Page
10 View all events Student, Organizer, Manager, Admin User can see all the event
which have been
organized in FPT
University.
11 Search event Student, Organizer, Manager, Admin User can search for an
event they want in “view
all event” page.
12 Filter event Student, Organizer, Manager, Admin Users can see all events
which have been
organized in FPT
University and suitable
for their desire.
13 View event detail Student, Organizer, Manager, Admin User can see the detail of
an event.
14 View list feedback Student, Organizer, Manager, Admin User can view all the
feedback of the event.
15 Feedback event Student Student can feedback to
the event.
16 Delete my feedback Student Student can edit own
feedback of the event.
17 Edit my feedback Student Student can edit own
feedback of the event.
18 Bookmark event Student Student can bookmark
the events so the
information of event will
be added to the “View
your calendar” screen.
19 Unbookmark event Student Student can unbookmark
the event.
20 Share event Student, Organizer, Manager, Admin Student can share the
information of event to
the Facebook.
21 Register event Student Student can register to
join an event.
22 Report event Student Helping managers to
grasp the bad content
that exists.
23 Get ticket Student Student can get a ticket
of an event of after they
registered successfully.
24 View bookmarked event Student Student can view the list
of event that they
bookmarked.
25 View checkined event Student Student can view the list
event of event which they
joined.
26 Fill google form Student Student must fill in
google form of an event if
it have.
36 | Page
27 View ticket event Student Student can view ticked
of any event they
registered.
28 Create event Organizer This allows organizer to
create new event.
29 Create google form Organizer This allows organizer to
create google registration
form for new event.
30 Edit form Organizer This allows organizer to
edit the content of
google registration form
for new event.
31 Clear form Organizer This allows organizer to
clear all the content of
google registration form
of new event which is
creating.
32 Save draft Organizer This allows organizer to
save an event and edit it
later.
33 View list draft event Organizer Organizer can see his/her
own draft event.
34 Edit draft Organizer Organizer can edit
his/her draft event.
35 Delete draft Organizer Organizer can delete
his/her draft event.
36 View list pending event Organizer Organizer can see all the
events that are waiting
for Manager’s approval
or rejected.
37 Cancel event Organizer Organizer can cancel
their pending event.
38 Move to draft Organizer Organizer can move the
events which was
rejected by Manager to
draft lists.
39 View my created event Organizer To help organizers to
manage their event
created .
40 View event statistic Organizer, Manager To help users to keep
track their events by
seeing the event
statistics.
41 Export statistic Organizer, Manager To help users export all
the information of the
event to file excel.
42 View list checkedin Organizer, Manager To help organizer and
student manager can see all the
checked-in students.
37 | Page
43 View list registered Organizer, Manager To help organizer and
student manager can see all the
registered students.
44 Upload event document Organizer, Manager Organizer and manager
can load document like
image, document, video
link of an event.
45 Check-in student Organizer User can see the list of
registered students, and
user can check in student
who are present at the
event.
46 Manage tivi display Organizer When create tv,
event Organizer can choose the
setting of display on tv
and choose the supporter
for QR app.
47 View all group Student, Organizer, Manager, Admin User can see the list of
group.
48 Search group Student, Organizer, Manager, Admin User can access the
information of one group
in the quick way through
searching.
49 Sort group Student, Organizer, Manager, Admin User can sort the list of
group.
50 View group infor Student, Organizer, Manager, Admin User can view the detail
of an group.
51 Edit group information Organizer Organizer can change
information of a group.
52 View group member Student, Organizer, Manager, Admin User can see the list of
group member.
53 Add Organizer to group Organizer Organizer (who is leader)
can add members to
group to contribute in
organizing events better.
54 Remove organizer Organizer Organizer can remove
members out of group if
they are no longer having
contribution in the group.
55 Create category Manager Manage can keep track
the categories of event
through creating new
category.
56 Display on home page Manager Choose what event will
be display on home page.
57 Edit category Manager Manage can keep track
the categories of event
.through editing
information of the
category.
38 | Page
58 Delete category Manager Manage can keep track
the categories of event
through deleting
information of the
category.
59 Manage event featured Manager Manager can make an
event become featured,
so that students can
notice about that event
better.
60 View list pending events Manager Manager can make an
event become featured,
so that students can
notice about that event
better.
61 Reject event Manager Manage can reject the
event which is not
qualified.
62 Approve event Manager Manage can make an
event become readable
by every students when
he/she approve or
“accept” that event.
63 View report list Manager Manage can view list of
report.
64 Dismiss report Manager Manage can keep track
all the report well
through blocking event or
dismiss the report.
65 Block event Manager Manage stops an event in
order to change
information of in
emergency situation.
66 Change Leader Manager Manager can change
leader of a group.
67 Delete group Manager Manage can keep track
the groups of event
through deleting
information of the
category.
68 Create group Manager Manage can keep track
the groups through
creating new group.
69 Move event to draft Manager Manager can move a
event to draft event it
still happening in
emergency situation.
70 View list account Admin Admin can have a big
picture about the people
who have special roles in
this system.
39 | Page
71 View account detail Admin Admin can view the
information of an
account.
72 Edit account role Admin Admin can change the
information of the
account in order to assign
tasks appropriately.
73 Create account Admin Admin can grant
permission for a new
account through this.
74 Search account Admin Admin can access the
information of one
account in the quick way
through searching.
75 Fillter account Admin Admin can access the
information of one
account in the quick way
through filtering.
76 View campus list Admin Admin can view campus
list.
77 Create campus Admin Admin can create
campus, which allow
event in specific campus.
78 Edit campus Admin Admin can update
campus name.
79 View building list Admin Admin can view building
list.
80 Create building Admin Admin can create
building , which allow tv
can show in specific
building .
81 Edit building Admin Admin can update
building name and
building location.
82 Search building Admin Admin can search a
building by it name.
83 Delete building Admin Admin can delete a
building
84 View televison list Admin Admin can view building
list of televison.
85 Active/Deactive Admin Admin can active a
television television to make it
available to play event
video or deactivate to
stop play.
86 Manage televison Admin Admin can make one
special event event on television
become special - only
show that event.
40 | Page
87 View notification Student, Organizer, Manager, Admin If system have any
update it will be notice in
the notification box.
3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
41 | Page
Figure 3.1.1.2. Organizer’s use case
42 | Page
Figure 3.1.1.3. Admin’s use case
43 | Page
Figure 3.1.1.4. Manager’s use case
44 | Page
16 Create New
Manage Building Building Create new building
17 Manage Building Edit Building Edit name of the building
18 Manage View All
Notification Notification Display list of notifications that user have.
19 Display list of events, user can sort, filter, search event.
Manage Event View All Event move event to draft.
20 Manage Event View Event Show detailed information of an event.
21 View Event View number of people registered, checkin, rating points,
Manage Event Statistic feedback,...
22 Manage Feature Show all events and which one on that list is featured.
Manage Event Event Users can make an event feature to make it not.
23 Manage Pending View all pending events, accept/cancel that event
Manage Event Event request.
24 Manage Event Edit Draft Event Edit event’s information.
25 Manage Event’s
Manage Event materials Show, create , delete material
26 Manage View All
Category Category Display list of category, make category visible/invisible
27 Manage
Category Edit Category Change category information
28 Manage Create New
Category Category Create New Category
29 Display all report to every event, dismiss report, dismiss
Manage Report View All Report event
30 View all your personal information, and can edit a few
fields (first name, last name, phone number, profile
Manage Profile Manage Profile image)
31 Manage
Calendar View Calendar Display student’s classes, exams and events schedule.
32 Manage Campus View All Campus Display all campuses in the system.
33 Manage Campus Edit Campus Edit campus information
34 Manage Campus Create Campus Create a new campus
35 Manage your
Event Create Event Create or Save draft a new event
36 Manage your View Your Draft
Event Event Display list of draft events, edit/delete a draft event
37 Manage your
Event Edit Draft Event Edit a draft event
38 Manage your View Your
Event Pending Event Display list of pending events, cancel a draft event
39 Manage your View All Your Display list of all events, check in or view statistic of an
Event Events event
40 Manage your Manage Event
Event Check Ins Display list of registered students, check-in for students
41 Manage your View Your View number of people registered, checkin, rating points,
Event Event Statistic feedback,...
42 Manage Profile Manage Profile Display and edit information of current user
43 Display detailed information of an event,
View Event View Event register/bookmark/feedback/report that event
45 | Page
44 View Registered Display a list of registered events, view ticket details of
View Event Events that event
45 Show
Bookmarked Display a list of bookmarked events, cancel the bookmark
View Event Event of that event
46 View CheckIn
View Event Event Display a list of checked-in events
46 | Page
Edit Group Information X
Change Group Leader X
Remove Group X
Create/Save Draft Event X
View All Your Events X
Search/Filter X
View Your Draft Events X
Edit Draft Event X
Delete Draft Event X
View Your Pending Events X
Move Event to Draft X
View University Event X X X
Calendar
Filter X X X X
View Event Detail X X X X
Manage Pending Events X
Search Pending Event X
Manage Featured Events X
Search/Filter Event X
Confirm Featured Event X
View All Reports X
Cancel Event X
Ignore Report X
View All Categories X
Edit Category X
Remove Category X
Edit Category X
Display Category X
Create Category X
Create Group X
View All Accounts X
Search/Filter Account X
Edit Account X
Create Account X
View All Campus X
Create Campus X
Edit Campus X
View All Smart Tv X
Search/Filter Smart Tv X
Enable/Disable Smart Tv X
Show Events On Tv X
Show Event On Tv X
Promote/Demote Event X
on Tv
View All Building X
Create Building X
47 | Page
Edit Building X
Remove Building X
Authentication IsCurrentlyUnassi
5 User role haven’t being assigned
gned
Authentication IsCurrentlyStude
6 User role have being assigned and that role is student
nt
Authentication IsCurrentlyOrgani
7 User role have being assigned and that role is student
zer
Authentication IsCurrentlyMana
8 User role have being assigned and that role is student
ger
9 Authentication IsCurrentlyAdmin User role have being assigned and that role is student
10 Authentication GetCurrentRole User role have being assigned and that role is student
14 Manage account GetUser Set session for user after user login into the system
Manage Your Event ExportEventStatis Export event information for manager after that event
22
tics close
23 Manage notification SetMessage Display message for a page system want to notify user
48 | Page
Manage notification Add Notification
24 Send notification for a list of people
(For group)
Entities Description
# Entity Description
1 User Used to store email, user’s role
49 | Page
2 Event Used to store Event data like start date, end date, capacity, …
3 Group Used to store Groups
4 Campus Used to store Campuses
5 Building Used to store Buildings
6 SmartTv Used to store SmartTvs
7 Category Used to store Categories
8 Notification Used to store Notifications
9 EventData Used to store event related files, materials
10 Form Used to store event’s register form
11 EventFamily Used to store event families
12 Checkin Used to store checkins by users to some events
13 Report Used to store user’s reports of about an event
14 Feedback Used to store user’s feedbacks about an event
15 Register Used to store user’s register time and tickets to an event
16 UserProfile Used to store user’s personal information
17 Bookmark Used to store user’s interested event
18 FeedbackOuter Used to store feedback from facebook
3.2 Authentication
3.2.1 Login by @fpt.edu.vn mail
50 | Page
Use case ID: UC-02 Use case name: Login by @fpt.edu.vn
mail
Post-conditions User logged in with his/her account, role of user will be displayed
in the top menu and the system redirects user to the Homepage
screen depending on the role of user.
Extension flow 2:
1. User logins with invalid email.
2. System displays error message on the login form.
Exception flow:
N/A
51 | Page
Priority: High
3.2.2 Logout
Student,Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
52 | Page
Extension flow: N/A
Priority: High
53 | Page
3.2.3 View public event
54 | Page
Use case ID: UC-01 Use case name: View public event
Student,Organizer,M
Primary actors: Secondary actors: N/A
anager, Admin
Post-conditions User can access all the information of the public event.
Priority: Low
55 | Page
3.3 View Homepage
3.3.1 View Homepage
56 | Page
Home Page - Manager
57 | Page
Home Page - Administrator
Student,Organizer,M
Primary actors: Secondary actors: N/A
anager, Admin
Description: All the services that serve user in extracurricular activities and keep
track the calendar.
58 | Page
2. System displays “Student Homepage” screen with the options
below:
- View events (UC-13)
View my calendar (UC-08)
View all events (UC-10)
View registered events (UC-21 )
- Manage your account
Update profile (UC-06)
- View groups
View all groups (UC-47)
Above the menu of options, the featured event bar which
includes floating events in the current time that are managed by
the manager (related to UC-59) is showing up.
59 | Page
Main flow 3: Roler Manager
- Manage categories
View all categories (UC-58)
Create category (UC-55)
- Manage groups
View all groups (UC-47)
60 | Page
Extension flow: N/A
Priority: High
61 | Page
3.4 Manage your account
3.4.1 View profile
62 | Page
Student,Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: Student and see own profile to update the information includes
avatar, name, major,… This information could be used to fill in
event registration form.
Some information in profile of Organizer can be accessed by
students/officers in FPT University in order to contact.
Exception flow: Exception flow 1: System cannot communicate with API server. At
step 2, system displays error message.
Priority: Medium
63 | Page
Use case ID: UC-06 Use case name: Update profile
Student,Organizer,M
Primary actors: Secondary actors: N/A
anager, Admin
64 | Page
Description: All the services that serve user in extracurricular activities and keep
track the calendar.
Priority: Medium
65 | Page
3.5 View event
3.5.1 View registered event
Use case ID: UC-07 Use case name: View registered event
Description: Students can see all the event that they did register before to manage
their time schedule and keep track in participating events they have
registered.
66 | Page
Post-conditions “View registered event” screen will be shown.
1. Student clicks “Xem sự kiện đăng ký” button at the home menu.
Main flow:
2. System show list of events that student have registered.
Exception flow: 1. Student clicks “Xem sự kiện đăng ký” button at the home menu.
2. If there is no data found the system will show message “Bạn
chưa đăng ký sự kiện nào”.
Priority: High
Frequency of use:
Medium
67 | Page
3.5.2 View my calendar
Student
Primary actors: Secondary actors: N/A
Description: Students can see all events that they registered or bookmarked
before. Besides, they can keep track all the school & exam schedule
68 | Page
Post-conditions “View your event calendar” screen will be shown.
1. Student clicks to “Lịch sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View your event calendar” screen with these parts:
-Between both “Tuần trước” & “Tuần này” is a box which shows the
current day and student can choose another day to move into another
week (which includes that day)
Exception flow: Exception flow 1: System cannot communicate with API server. At
step 2, system doesn’t display school & exam schedule.
Priority: High
69 | Page
3.5.3 View event calendar
Use case ID: UC-09 Use case name: View event calendar
Organizer, Manager,
Primary actors: Secondary actors: N/A
Admin
Description: User can see all events which have been organized in FPT University.
70 | Page
Post-conditions “View university event calendar” screen will be shown.
- “Filter” button: Click this button, a filter box will showup to user to
find out suitable events.
Priority: High.
71 | Page
3.5.4 View all events
72 | Page
Use case ID: UC-10 Use case name: View all events
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: User can see all the event which have been organized in FPT
University.
Priority: High
73 | Page
Business rules: N/A
74 | Page
Use case ID: UC-11 Use case name: Search event
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: Users can search events which have been organized in FPT University
and suitable for their desire.
Post-conditions The appropriate events in “View all events” screen will be shown up.
Priority: High
75 | Page
3.5.6 Filler events
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: Users filter before all events which have been organized in FPT
University and suitable for their desire.
76 | Page
1. User clicks to “Xem lịch sự kiện” button at the home
Main flow:
menu.
Extension flow: Extension flow 1: User wants to filter events at “View all events”
screen.
1. User clicks to “View all events” button at the home menu.
2. System shows “View all events” screen.
3. User chooses category of events, organizer or group which
organized events, status of events (Opening and Happening |
Opening | Happening | Closed), Range (From day till day) and
clicks “Search” button.
System shows appropriate events for users in the form of Grid or
List.
Priority: High
77 | Page
3.5.7 View event detail
Use case ID: UC-13 Use case name: View event detail
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
78 | Page
- Event name label
- Event information includes: time, organizing place, status
of event, fee, rating, number of people will go to this event,
number of sharing, event description, oraganizer and groups,
category of event
- “Báo cáo” button (related to UC-22): to report bad
content of this event
Extension flow: Extension flow 1: Student click on event at his/her home page
Priority: High
79 | Page
3.5.8 View list feedback
Use case ID: UC-14 Use case name: View list feedback
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
- Title of feedback
80 | Page
- Content of feedback: Text area
- Hyperlink “Report this”
Extension flow: Extension flow 1: At step 2, if the event hasn’t had any feedback
yet, in the “Xem mọi người nghĩ gì nào” part system shows: “No
body hasn’t feedback yet”
Extension flow 2: At step 2, if user haven’t feedbacked yet, in the
“List of feedback” part, system shows: “Bạn chưa có phản hồi, bạn
có muốn viết không?” and “Phản hồi” button
Priority: High
81 | Page
Use case ID: UC-15 Use case name: Feedback event
Student
Primary actors: Secondary actors: N/A
Pre-conditions: User has logged into FEMS system and in “View event detail” screen.
Post-conditions User can view the new list of feedback which include his/her
feedback updated in the first place.
Priority: High
82 | Page
3.5.10 Delete my feedback
Student
Primary actors: Secondary actors: N/A
Pre-conditions: User has logged into FEMS system and in “View event detail” screen.
User have already feedbacked..
Priority: Medium
83 | Page
3.5.11 Edit own feedback
Use case ID: UC-17 Use case name: Edit own feedback
Pre-conditions: User has logged into FEMS system and in “View event detail” screen.
User have already feedbacked..
84 | Page
Priority: Medium
85 | Page
3.5.12 Bookmark event
86 | Page
Use case ID: UC-18 Use case name: Bookmark event
Student
Primary actors: Secondary actors: N/A
Description: Student can bookmark the events so the information of event will be
added to the “View your calendar” screen.
Pre-conditions: Student has logged into FEMS system and in “View event detail”
screen
Extension flow: Extension flow 1: If the time of the bookmark event matches the
time of another event in “View your calendar” screen, systems will
display a notification to mention the event coincidence in the
calendar.
Priority: Medium
87 | Page
3.5.13 Unbookmark event
88 | Page
Author: HungNM Date: 23/01/2023
Description: Student can unbookmark the events so the information of event will
be added to the “View your calendar” screen.
Pre-conditions: Student has logged into FEMS system and in “View event detail”
screen
Extension flow: Extension flow 1: If the time of the bookmark event matches the
time of another event in “View your calendar” screen, systems will
display a notification to mention the event coincidence in the
calendar.
Priority: Medium
89 | Page
3.5.14 Share event
90 | Page
Author: HungNM Date: 23/01/2023
Pre-conditions: Student has logged into FEMS system and in “View event detail”
screen
Priority: Medium
91 | Page
3.5.15 Register event
92 | Page
Use case ID: UC-21 Use case name: Register event
Extension flow: Extension flow 1: If the current date is later than the deadline of
registering date, system will not show the “Đăng ký” button on the
“View event detail” screen.
Extension flow 2: If student has not joinin in the target group and
the event that student wants to join has some target groups, system
will not show the “Đăng ký” button on the “View event detail”
screen.
Priority: Medium
93 | Page
Business rules: N/A
94 | Page
Use case ID: UC-22 Use case name: Report event
Pre-conditions: User has logged into FEMS system and in “View event detail” screen.
Priority: Medium
95 | Page
3.5.17 Get ticket
Pre-conditions: User has logged into FEMS system and registered a event in “View
event detail” screen.
96 | Page
3. User write content and clicks “Send” button.
4. System will open the page register event.
Extension flow: Extension flow 1: If the current date is later than the deadline of the
registration date, the system will not show the “Đăng ký” button on
the “View event detail” screen.
Extension flow 2: If a student has not joined the target group and
the event that student wants to join has some target groups, the
system will not show the “Đăng ký” button on the “View event
detail” screen.
Priority: Medium
97 | Page
3.5.18 View bookmarked event
Description: Student can view the list of event that they bookmarked.
98 | Page
Main flow: 1.Student click on “Sự kiện quan tâm” to open
ShowBookmarkedEvent page
2. System show the list of event they bookmarked.
Exception flow: 1.Student click on “Sự kiện quan tâm” to open ViewRegisteredEvents
2. If there is no data fount the system show message “Bạn chưa quan
tâm sự kiện nào”.
Priority: Medium
99 | Page
3.5.19 View checked-in event
Description: Student can view the list of event which they joined
100 | Page
Student click on “Sự kiện đăng ký” to open ViewRegisteredEvents
Main flow:
Priority: Medium
Use case ID: UC-26 Use case name: Fill google form
101 | Page
Primary actors: Student, Organizer Secondary actors: N/A
Pre-conditions: User has logged into the FEMS system and registered an event in the
“View event detail” screen and clicked the “đăng ký ngay ” button.
Post-conditions N/A
Priority: Medium
102 | Page
3.5.21 View ticket event
Use case ID: UC-27 Use case name: View ticket event
Pre-conditions: User has logged into FEMS system and registered a event and have
at least one ticket of an event.
103 | Page
1.Student open the registered event page and click on “Xem vé”
Main flow:
2.System shows ticket of the registered event.
Priority: Medium
104 | Page
3.6 Manage your event
3.6.1 Create event
105 | Page
Use case ID: UC-28 Use case name: Create event
Post-conditions The information is updated in the database and display in the “View
event detail” screen.
Priority: High
106 | Page
Frequency of use: High
107 | Page
3.6.2 Create google form
108 | Page
Use case ID: UC-29 Use case name: Create google form
Description: When create event event , user can create google form for register
Pre-conditions: User has logged into FEMS system and open create event screen
Post-conditions The information is updated in the database and display in the “View
event detail” screen.
Extension flow: Extension flow 1: When organizer has already created form.
1. Organizer clicks to “Clear form” button.
2. System deletes the registration form which has been existed
before.
Extension flow 2: When organizer has already created form.
1. Organizer clicks to “Edit form” button.
2. System shows the registration form.
3. Organizer changes information of form.
4. System automatically saves form’s information
Priority: High
109 | Page
Business rules: N/A
110 | Page
3.6.3 Edit Form
111 | Page
Use case ID: UC-30 Use case name: Edit form
Pre-conditions: User has logged into FEMS system and open create event screen
Extension flow: Extension flow 1: When organizer has already created form.
1. Organizer clicks to “Clear form” button.
2. System deletes the registration form which has been existed
before
Priority: Medium
112 | Page
3.6.4 Clear Form
113 | Page
Use case ID: UC-31 Use case name: Clear form
Pre-conditions: Organizer has logged into FEMS system and in “Create event” screen
that Organizer has already Create Form before.
Priority: Medium
114 | Page
3.6.5 Save Draft
115 | Page
Use case ID: UC-32 Use case name: Save Draft
Post-conditions The information is updated in the database and display in the “View
event detail” screen
Priority: High
116 | Page
- BR-08
- BR-09
- BR-10
- BR-11
- BR-12
- BR-13
- BR-14
- BR-15
- BR-16
- BR-17
- BR-18
- BR-19
- BR-20
- BR-21
117 | Page
Use case ID: UC-33 Use case name: View list draft event
Description: Organizer can see all the drafts of event in list to edit the content of the
event before make it public.
Post-conditions Organizer can see all the draft events of his/her own.
Priority: Medium
118 | Page
3.6.7 Edit draft
119 | Page
120 | Page
Use case ID: UC-34 Use case name: Edit draft
121 | Page
● Group: dropdown list (show the list that organizer have been
participating in)
● “Create” button
● “Save draft” button
All the fields was filled in by the content of the draft event.
5. Organizer changes information of those fields and clicks
“Create”button.
6. System saves information of the event and send the request
to the pending list of Manager and redirects organizer to the “View
event detail” screen
Extention flow 2:
Priority: High
122 | Page
- BR-17
- BR-18
- BR-19
- BR-20
- BR-21
123 | Page
Description: Organizer can delete the draft event.
Pre-conditions: Organizer has logged into the FEMS system and in “View event detail”
screen
Priority: Medium
124 | Page
3.6.9 View list pending event
Use case ID: UC-36 Use case name: View list pending event
Description: Organizer can see all the events that are waiting for Manager’s approval
or rejected.
Post-conditions Organizer can see all the draft events of his/her own.
125 | Page
1. Organizer clicks “View your pending events” button at the
Main flow:
home menu.
2. System shows “View your pending events” screen, a pending
event has these properties: Event name, Group, Created date,
Status, “Move to draft” button or “Cancel event” button for each
event.
● If an event has status of “Rejected”, “Move to draft” button
will be shown up.
● If an event has status of “Pending”, “Cancel event” button will be
shown up.
Priority: High
126 | Page
3.6.10 Cancel event
Description: Organizer can cancel an events that are waiting for Manager’s approval.
Post-conditions Organizer can see all the draft events of his/her own.
127 | Page
3. Organizer clicks “Hủy sự kiện” button.
4. System moves the cancelled event to draft lists.
Priority: Medium
128 | Page
Use case ID: UC-38 Use case name: Move to draft
Description: Organizer can move the events which was rejected by Manager to draft
lists.
Post-conditions Organizer can see all the draft events of his/her own.
1. Organizer clicks “Sự kiện chờ phê duyệt” button at the home
Main flow:
menu.
2. System shows “View your pending events” screen.
3. Organizer clicks “Lưu bản nháp” button.
4. System moves the rejected event to draft lists
Priority: Medium
129 | Page
3.6.12 View my created event
Description: To help organizers to manage their event (which have been public).
Post-conditions Organizer can view all his/ her events that are Opening, Happening or
Closed.
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
130 | Page
2. System shows “View all your events” screen
Priority: Medium
131 | Page
3.6.13 View event statistic
132 | Page
Description: To help users to keep track their events by seeing the event statistics.
Post-conditions User can see all the registered students, who have been checked-in the
events, the rating of the event, numbers of feedback, and others.
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “Chi tiết” button
4. System shows “View your event statistics” screen which includes
● Name of the event
● Number of registered students and “View registered students”
button to see all the registered students
● Number of checked-in students
● The average rating of the event
● Number of feedbacks
● “Xuất thông tin ra file excel” button to export the
information of the event
● “View event form statistic” button to view the statistic form
the registration form.
● Registered Students by date
● Registered Students distribution
133 | Page
8. Registered Students distribution
Priority: Medium
134 | Page
3.6.14 Export statistic
Export statistic
Use case ID: UC-41 Use case name:
135 | Page
Description: To help users to get excel file of the event statistics.
Post-conditions System will open the excel file include the data of event in a new pages
5. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
6. System shows “View all your events” screen.
7. Organizer clicks “Chi tiết” button
8. System shows “View your event statistics” screen which includes
● Name of the event
● Number of registered students and “View registered students”
button to see all the registered students
● Number of checked-in students
● The average rating of the event
● Number of feedbacks
● “Xuất thông tin ra file excel” button to export the
information of the event
9. Organizer click button “Xuất thông tin ra file excel” button
10. System shows excel page include data of event
136 | Page
Exception flow: N/A
Priority: Medium
Description: To help organizer and manager can see all the checked-in students.
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Organizer clicks “số người đã tham gia” hyperlink.
6. System shows the list of checked-in students. The list
includes the properties:
● Number
137 | Page
● Checked-in student name
● Email
● Checked-in date
Priority: Medium
138 | Page
3.6.16 View list registered student
Description: To help organizer and manager can see all the checked-in students.
139 | Page
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Organizer clicks “số người đã đăng ký” hyperlink.
6. System shows the list of registered students. The list includes
the properties:
● Number
● Checked-in student name
● Email
● Checked-in date
Priority: Medium
140 | Page
3.6.17 Upload event document
Description: To help organizer and manager can see all the checked-in students.
141 | Page
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Organizer clicks “upload data”
6. System shows “View All Event Data” screen.
7. Organizers filled input and clicks “Thêm bản ghi”
8. Systems shows the list of event document
Priority: Medium
142 | Page
3.7 Manage category
3.7.1 Create category
Manager
Primary actors: Secondary actors: N/A
Description: Manager can keep track the categories of event through creating
new category.
143 | Page
1. Manager clicks “Tạo thể loại” button at menu home.
Main flow:
2. System shows “Create category” screen.
3. Manager fills in Create category form and clicks “Submit”
button.
4. System saves the information of the new category and
redirects manager to the new list of category.
Extension flow:
Priority: Medium
Frequency of use:
Low
144 | Page
3.7.2 Display on homepage
Manager
Primary actors: Secondary actors: N/A
145 | Page
1. Manager clicks “Xem thể loại” button at menu home.
Main flow:
2. System shows “ViewAllCategories” screen.
3. Manager “Hiển thị” button.
4. System display the choosen category on the Student
homepage.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Low
146 | Page
3.7.3 Edit category
Manager
Primary actors: Secondary actors: N/A
Description: Manager can keep track the categories of event through editing
information of the category.
147 | Page
1. Manager clicks “xem thể loại” button at menu home.
Main flow:
2. System shows “View all categories” screen.
3. Manager clicks “Sửa” button.
4. System shows “Edit category” screen.
5. Manager changes information of Edit category form and clicks
“Lưu” button.
6. System saves the information of the new category and
redirects manager to the new list of category.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Low
148 | Page
3.7.4 Delete category
Manager
Primary actors: Secondary actors: N/A
Description: Manager can keep track the categories of event through deleting an
category.
Post-conditions Manager can delete some categories which are not suitable for
system.
149 | Page
1. Manager clicks “xem thể loại” button at menu home.
Main flow:
2. System shows “View all categories” screen.
3. Manager clicks “Xóa” button.
4. System shows “Edit category” screen.
5. System shows confirmation box to ask if user really want
to delete or not.
6. Manager clicks “Yes” button.
7. System update the information of the list of category and
redirects manager to the “View all categories” screen.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Low
150 | Page
3.8 Manage event
3.8.1 Manage Featured Event
Manager
Primary actors: Secondary actors: N/A
Description: Manager can make an event become featured, so that students can
notice about that event better.
151 | Page
Post-conditions An event becomes a featured event.
Exception flow:
N/A
Priority: Medium
152 | Page
3.8.2 View list pending events
Manager
Primary actors: Secondary actors: N/A
Description: Manager can view the list of pending events created by organizers
Post-conditions User can access all the information of the public event.
153 | Page
Exception flow:
N/A
Priority: High
Frequency of use:
High
Reject event
Use case ID: UC-61 Use case name:
Manager
Primary actors: Secondary actors: N/A
154 | Page
Description: Manage can reject the event which is not qualified.
Post-conditions An event after being rejected will change status from draft to rejected
and be taken to the draft list of the organizer
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
155 | Page
3.8.4 Approve event
Approve event
Use case ID: UC-62 Use case name:
Manager
Primary actors: Secondary actors: N/A
Post-conditions An event after being approved will change status from draft to
opening and be able to register by Student.
156 | Page
4. System makes the event going with that button change status
from
5. “Draft” to “Opening” (or Happening | Closed depending on the
time) and all students can see this event.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
157 | Page
Use case ID: UC-63 Use case name: View Report List
Manager
Primary actors: Secondary actors: N/A
Description: Manage can view all the reports from students and organizers who
want to report about bad content of the event
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
158 | Page
3.8.6 Dismiss report
Manager
Primary actors: Secondary actors: N/A
Description: Manager can keep track all the report well through blocking event or
dismiss the report
Post-conditions Manager can see the list of reports according to certain criteria
159 | Page
1. Manager clicks “Xem báo cáo” button at menu home.
Main flow:
2. System shows “View all reports” screen.
3. Manager clicks “Bỏ qua” button going with an event.
4. System pushes the report after dismissing to the end of the list
of reports.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
160 | Page
3.8.7 Block event
Manager
Primary actors: Secondary actors: N/A
Description: Manager can keep track all the report well through blocking event or
dismiss the report
Post-conditions Manager can see the list of reports according to certain criteria
161 | Page
1. Manager clicks “View all reports” button at menu home.
Main flow:
2. System shows “View all reports” screen.
3. Manager clicks “Hủy Sự Kiện” button going with an event.
4. System makes the event going with that button change status
to “Rejected” and it will be taken to the Draft list of the organizer.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
162 | Page
3.9 Manage account
3.9.1 View list account
Admin
Primary actors: Secondary actors: N/A
Description: Admin can keep track all admin, manager and organizer accounts
163 | Page
Post-conditions System shows the list of account
Exception flow:
N/A
Priority: High
Frequency of use:
Medium
164 | Page
3.9.2 View account detail
Admin
Primary actors: Secondary actors: N/A
Description: Admin can view detail of all admin, manager and organizer accounts
165 | Page
1. Admin clicks “Xem danh sách tài khoản” button at menu
Main flow:
home.
2. System shows “View all account ” screen.
3. Admin clicks “Tên tài khoản” in the table
4. System shows “edit account ” screen to show account detail.
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
166 | Page
3.9.3 Edit account role
Admin
Primary actors: Secondary actors: N/A
Description: Admin can edit all admin, manager and organizer accounts
167 | Page
1. Admin clicks “Xem danh sách tài khoản” button at menu
Main flow:
home.
2. System shows “View all account ” screen.
3. Admin clicks “Tên tài khoản” in the table
4. System shows edit account screen to show account detail.
5. Admin check the roles and button “Hoàn tất” to complete
edition
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
168 | Page
3.9.4 Create account
Admin
Primary actors: Secondary actors: N/A
169 | Page
1. Admin clicks “Tạo tài khoản” button at menu home.
Main flow:
2. System shows “Create account” screen.
3. Admin fills input and clicks button “Hoàn tất” to complete
edition
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
170 | Page
UC-74 Search account
Use case ID: Use case name:
Admin
Primary actors: Secondary actors: N/A
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
171 | Page
3.9.6 Filter account
Admin
Primary actors: Secondary actors: N/A
Description: Admin can filler to search all admin, manager and organizer accounts
172 | Page
1. Admin clicks “Xem danh sách tài khoản” button at menu
Main flow:
home.
2. System shows “View all account ” screen.
3. Admin inputs “Tên tài khoản hoặc email”
4. Admin selects the roles and click button “Tìm kiếm”
5. System shows the list of account that matches the input
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
173 | Page
3.10 Manage campus
3.10.1 View campus list
Admin
Primary actors: Secondary actors: N/A
174 | Page
Post-conditions System shows the list of campus
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
175 | Page
Author: HoangDX Date: 23/02/2023
Admin
Primary actors: Secondary actors: N/A
Post-conditions System shows “View all campus ” screen after create account
successfully.
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
176 | Page
UC-78 Edit campus
Use case ID: Use case name:
Admin
Primary actors: Secondary actors: N/A
177 | Page
Extension flow: N/A
Exception flow:
N/A
Priority: Medium
178 | Page
Author: HoangDX Date: 23/02/2023
Admin
Primary actors: Secondary actors: N/A
Exception flow:
N/A
Priority: High
Frequency of use:
Medium
179 | Page
3.11.2 Create building
180 | Page
UC-80 Create building
Use case ID: Use case name:
Admin
Primary actors: Secondary actors: N/A
181 | Page
1. Admin clicks “Quản Lý tòa nhà” button at menu home.
Main flow:
2. System shows “View all building” screen.
3. Admin clicks “Tạo mới” button
4. Admin inputs the new building name
5. Admin clicks “Tạo” button
6. System shows “View all building ” screen
Priority: Low
Frequency of use:
Low
182 | Page
3.11.3 Edit building
183 | Page
UC-81 Edit building
Use case ID: Use case name:
Admin
Primary actors: Secondary actors: N/A
184 | Page
1. Admin clicks “Quản Lý tòa nhà” button at menu home.
Main flow:
2. System shows “View all building” screen.
3. Admin clicks edit icon in the column “Hành động”
4. Admin selects the target building and input new building name
5. Admin clicks “Chỉnh sửa” to complete edition
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
185 | Page
3.11.4 Search building
Admin
Primary actors: Secondary actors: N/A
186 | Page
1. Admin clicks “Quản Lý tòa nhà” button at menu home.
Main flow:
2. System shows “View all building” screen.
3. Admin clicks “Chọn Cơ Sở” to select the campus
Exception flow:
N/A
Priority: Low
Frequency of use:
Low
187 | Page
UC-83 Delete building
Use case ID: Use case name:
Admin
Primary actors: Secondary actors: N/A
Exception flow:
N/A
Priority: Low
188 | Page
3.12 Manage television
3.12.1 Manage tv display event
Admin
Primary actors: Secondary actors: N/A
Exception flow:
N/A
189 | Page
Priority: Medium
Frequency of use:
High
190 | Page
Admin
Primary actors: Secondary actors: N/A
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
191 | Page
3.12.3 Active/Deactive television
UC-85 Active/Deactive
Use case ID: Use case name: television
Admin
Primary actors: Secondary actors: N/A
192 | Page
Post-conditions System changes the status of Tv.
Extension flow: After Admin clicks “Muốn bật” text change to “Đã bật”.
After Admin clicks “Đã bật” text change to “Muốn bật”.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
193 | Page
UC-86 Manage television
Use case ID: Use case name: special event
Admin
Primary actors: Secondary actors: N/A
Description: Admin can make one event on television become special - only show
that event.
Post-conditions Admin can make one event on television become special - only show
that event.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
194 | Page
3.13 Manage group
3.13.1 Change leader
Manager
Primary actors: Secondary actors: N/A
1. Manager clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Manager clicks the hyperlink of the group name.
4. System shows “Group details” screen.
5. Manager clicks the “Đổi chủ tịch” button.
6. System shows “Đổi chủ tịch” screen.
7. Manager clicks “Đổi chủ tịch” button to change leader.
195 | Page
8. System saves information and redirects user to “Group
details” screen.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
196 | Page
3.13.2 Delete group
Manager
Primary actors: Secondary actors: N/A
Description: Manager can keep track the groups of event through deleting
information of the category.
Post-conditions Manager can delete some groups which have not existed anymore.
197 | Page
1. Manager clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Manager clicks “Xóa” button.
4. System shows confirmation box to ask if user really want
to delete or not.
5. Manager clicks “OK” button.
6. System update the information of the list of category and
redirects manager to the “View all groups” screen.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
198 | Page
3.13.3 Create group
Manager
Primary actors: Secondary actors: N/A
Description: Manage can keep track the groups through creating new group.
199 | Page
Post-conditions Manage can create new group.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Low
200 | Page
3.13.4 View all group
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: User can have a big picture about the groups in FPT University.
201 | Page
1. User clicks “Xem các câu lạc bộ” button at home menu.
Main flow:
2. System shows “View all groups” screen. The grid of group has
these column: No, Group name, Group leader, Members, Create date,
Mail
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
202 | Page
UC-48 Search group
Use case ID: Use case name:
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: User can access the information of one group in the quick way
through searching.
Post-conditions User find out the information of accounts that he/she wants.
1. User clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User inputs the keyword to the “Search” box.
4. System shows “View all groups” screen with groups have the
information related to the searching keyword.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
203 | Page
3.13.6 Sort group
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Post-conditions User can see the list of groups according to certain criteria.
204 | Page
1. User clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User clicks the “Sort” icon at one column to sort
4. System shows the list of groups after sorting. The sort icon
changes from ASC to DESC or from DESC to ASC.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
205 | Page
3.13.7 View group information
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: User can see the list of reports according to certain criteria
206 | Page
1. User clicks “View all groups” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User clicks the “Details” hyperlink of an event.
4. System shows “Group details” screen with all information
of the group, which includes: name of group, group description,
information of leader, recent events (recent event created by
members of this group), list of members of the group.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
207 | Page
3.13.8 Edit group information
208 | Page
UC-51 Edit group information
Use case ID: Use case name:
Organizer
Primary actors: Secondary actors: N/A
1. Organizer clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Organizer clicks the hyperlink of a group name.
4. System shows “Group detail” screen.
5. Organizer clicks the “Sửa” button.
6. System shows “Edit group info” screen.
7. Organizer changes the information of the group.
8. System saves information and redirects user to “Group
details” screen.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
209 | Page
3.13.9 View Group Member
Student, Organizer,
Primary actors: Manager, Admin Secondary actors: N/A
1. User clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User clicks the hyperlink of a group name.
4. System shows “Group details” screen.
5. User clicks the “Danh sách thành viên” button to see all
group’s member.
6. System shows list group members to user.
210 | Page
Extension flow: N/A
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
Organizer
Primary actors: Secondary actors: N/A
211 | Page
Description: Organizer (who is leader) can add members to group to contribute in
organizing events better
1. Organizer clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Organizer clicks the hyperlink of a group name.
4. System shows “Group details” screen.
5. Organizer clicks the “Danh sách thành viên” button to see all
group’s member.
6. System shows list group members to user.
7. Organizer enters email of new member and clicks “Thêm”
button.
8. System saves information of new member and updates the
grid list of members above.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
212 | Page
3.13.11 Remove member
Organizer
Primary actors: Secondary actors: N/A
Description: Organizer can remove members out of group if they are no longer
having contribution in the group.
1. Organizer clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Organizer clicks the hyperlink of an group name.
4. System shows “Group details” screen.
5. Organizer clicks the “Danh sách thành viên” button to see all
group’s member.
6. System shows list group members to user.
7. Organizer clicks “Xóa” button of a member of group.
213 | Page
8. System saves information and updates the grid list of
members above.
Exception flow:
N/A
Priority: Medium
Frequency of use:
Medium
Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin
Description: If system have any update it will be notice in the notification box.
214 | Page
1. User clicks “Thông báo” button at menu home.
Main flow:
2. System shows list of notification for user.
Exception flow:
N/A
Priority: Medium
Frequency of use:
High
4. Non-Functional Requirements
4.1 External Interfaces
4.1.1 User Interfaces
UI-1: All of the FU's Event Management’s screens will be responsive to display information clearly
and well organized in any screen size.
SI-2: FEMS Back-end send request to FAP API to get fpt account detail.
USB-2: The steps are short and easy to understand so that the user can interact with the application
without training.
USB-3: Main functions are organized into tabs for easier access.
USB-5: Important commands are displayed as buttons with distinct background colors.
215 | Page
4.2.2 Security
SE-1: The system must use token-based authentication, in which the authentication server returns
an access token user logged in with @fpt.edu.vn email.
SE-2: Only Admin account can manage television and create account.
4.2.3 Performance
PE-1: Any pages in the system shall fully load in at maximum of 30 seconds in normal condition.
PE-2: Website can hold at least 200 people at the same time
ID Rule Definition
BR-01 Email must be @fpt.edu.vn.
BR-02 The First name field is required.
BR-03 The Last name field is required.
BR-04 The Phone field is required.
BR-05 The phone field must be a valid number of telephone
BR-06 The content of feedback must not be null
BR-07 Must upload an image
BR-08 The event open date is required
BR-09 The event open time field is required
BR-10 The event close date is required
BR-11 The event close time field is required
BR-12 The description field of event is required
BR-13 The category of event field is required
BR-14 The place of event field is required
BR-15 The field Place must be a string with a maximum length of 100
BR-16 The participants of event field must be a string with a maximum length of 100
BR-17 The participants of event field is required
BR-18 Register close time must no be null
BR-19 Event register close time must be sooner than Event open time.
BR-20 The field Name must be a string with a maximum length of 100.
BR-21 The banner open time must be smaller than banner close time
BR-22 The name field is required
BR-23 The CategoryName field is required.
BR-24 The field CategoryName must be a string with a maximum length of 50.
216 | Page
5.2 Application Messages List
Message Message
# Context Content
code Type
In red,
When check box role is empty
1 MSG01 under the Bạn phải chọn ít nhất 1 role
when create account
text box
In red,
When email in create account Bạn phải nhập email
2 MSG02 under the
is incorrect @fpt.edu.vn
text box
Toast When create account
3 MSG03 Tạo tài khoản thành công
message successfully
In red,
When admin want to edit his Bạn không thể tự chỉnh role
4 MSG04 under the
own role. của mình
text box
In red, Đã tồn tại 1 tài khoản với
When admin create account
5 MSG05 under the email này , vui lòng nhập
and it already exsist
text box email khác.
Toast When create campus
6 MSG06 Tạo thành công campus
message successfully
Toast When admin create campus
7 MSG07 Campus đã tồn tại
message and it already exsist
Toast
8 MSG08 When campus name is empty Hãy nhập tên campus
message
Toast When campus is not found
9 MSG09 Không tìm thấy campus
message when create
Toast When update campus
10 MSG10 Update thành công campus
message successfully
Toast When delete campus
11 MSG11 Xóa campus thành công
message successfully
Toast
12 MSG12 When building is not found Không tìm thấy building
message
Toast When building is successfully
13 MSG13 Xóa building thành công
message delete
Toast
14 MSG14 When building is already exist Building đã tồn tại
message
217 | Page
Toast When building is edited
17 MSG17 Sửa building thành công
message successfully
Toast When update feature event Update sự kiện nổi bật
18 MSG18
message field to true thành công
Toast When create category
19 MSG19 Tạo thể loại thành công
message successfully
Toast Đã sửa thể loại +
20 MSG20 When edits event successfully
message {CategoryName}
Toast When deletes event Đã xóa thể loại +
21 MSG21
message successfully {CategoryName}
Toast When manager approves an
22 MSG22 Đã chấp thuận sự kiện
message event
Toast When manager rejects an
23 MSG23 Đã từ chối sự kiện
message event
Toast When manager deletes a group
24 MSG24 Đã xóa câu lạc bộ
message successfully
Toast When manager creates a group
25 MSG25 Tạo câu lạc bộ thành công
message successfully
Toast When manager changes leader Đổi chủ tịch của câu bộ
26 MSG26
message of a group successfully +{GroupName} thành công
Toast When manager moves an Chuyển tới nháp thành
27 MSG27
message event to draft công.
Toast When organizer saves event
28 MSG28 Lưu nháp thành công
message draft successfully
Toast When organizer creates event Thành công tạo sự kiện.
29 MSG29
message successfully Hãy đợi phê duyệt.
Toast When organizer deletes his
30 MSG30 Xóa nháp thành công
message draft event successfully
Toast When organizer edits his draft
31 MSG31 Sửa nháp thành công
message event successfully
Toast When organizer cancels a
32 MSG32 Đã hủy yêu cầu
message request to create event
Toast When organizer updates check-
33 MSG33 Điểm danh thành công
message in status of students sucessfully
Toast When student registers to an
34 MSG34 Đăng ký sự kiện thành công
message event sucessfully
When student cancels his
Toast Hủy đăng ký sự kiện thành
35 MSG35 register of an event
message công
successfully
218 | Page
IV. Software Design Description
1. System Design
1.1 System Architecture
● Web Browser: Users can use all most browsers to access our website such as: Chrome,
Mozilla,Firefox, Microsoft Edge, Opera…
● Google Authentication: To verify access to web server and send notification of events to user.
This is website for FPT Students, so only FPT Student and FPT Officers can login to website by mail of
FPT University to use service.
● FU's Event Management: System design for displaying, guild, making hosting events, and
participating become easier than ever. Additionally, the system will bring together all already very
enjoyable and fun FPT university events for each student and provide them with a memorable
experience.
● FAP (fap.fpt.edu.vn) API: To get information of the profiles, the class calendar, exam calendar,
major,… of students in FPT University.
● Database: Due to the recommendation of FPT University, the SQL Server 2019 edition is the
most suitable verision because its have been used for most of university systems. SQLsever 2019 which
was be developed, distributed and supported by Microsoft Corporation. It is a powerful and reliable
free data management system that delivers a rich and reliable data store for lightweight Web Sites
and desktop applications.
● Google App Script: Apps Script makes it easy to create and publish add-ons in an online store
for Google Sheets, Docs, Slides, and Forms. There’s no better way to distribute scripts to large numbers
219 | Page
of users, whether you want to ship your code to the whole world or keep it private to the users in your
G Suite domain.
220 | Page
Package Descriptions
No Package Description
01 /Controllers Where we put Controller classes that handle URL requests
02 /Models Where we put classes that represent and manipulate data and business
objects.
03 /Views Where we put UI template files that are responsible for rendering output,
such as HTML
04 /Scripts Where we put JavaScript library files and scripts (.js) and css (.css)
07 /Content Where we put CSS and other sit content, other than scripts and images.
08 /Helper Where we put CSS and other sit content, other than scripts and images.
09 /Jobs Where we put CSS and other sit content, other than scripts and images.
11 /App_Start Where we put configuration code for features like Routing, Bundling and
Web API.
221 | Page
2. Database Design
Table Descriptions
No Table Description
1 User Used to store email, user’s role
Primary Key: UserId
2 Event Used to store Event data like start date, end date, capacity, …
Primary Key: EventId
Foreign Key: FamilyId,ManagerId,OrganizerId,SmartTV_TvId, CampusId
222 | Page
Primary Key: FormId
Foreign Key: EventId
11 EventFamily Used to store event families
Primary Key: EventFamilyId
12 Checkin Used to store checkins by users to some events
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
13 Report Used to store user’s reports of about an event
Primary Key: ReportId
Foreign Key: UserId,EventId
14 Feedback Used to store user’s feedbacks about an event
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
15 Register Used to store user’s register time and tickets to an event
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
16 UserProfile Used to store user’s personal information
Primiry Key: ProfileId
17 Bookmark Used to store user’s interested event
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
18 FeedbackOuter Used to store feedback from facebook
Primary Key: Key,EventId
Foreign Key:EventId
Table design
223 | Page
BuildingName nvarchar(MAX Yes Determine
) the building’s
name
224 | Page
CreatorId int No Id of the user
who created
the category
225 | Page
status
226 | Page
IsOrganizerOnly bit No Determine if the
event is only for
organizer
227 | Page
CampusId int PK No Id of the
campus
228 | Page
EventRole table design
Key int PK No
229 | Page
event
230 | Page
GroupImage nvarchar(MAX Yes The location
) that the
image will be
saved
231 | Page
ObjectType nvarchar(10) Yes The type of
notification
232 | Page
the report is
dismissed
233 | Page
IsAdmin bit No Determine if Default: False
the user is a
Admin
234 | Page
Address nvarchar(MAX Yes User address
) detail
3. Detailed Design
3.1 Authentication
3.1.1 Login by @fpt.edu.vn mail
Class Diagram
235 | Page
Sequence Diagram
3.1.2 Logout
Class Diagram
Sequence Diagram
236 | Page
3.1.3 View public event
Class Diagram
237 | Page
Sequence Diagram
238 | Page
Sequence Diagram
239 | Page
3.3 Manage your account
3.3.1 View profile
Class Diagram
240 | Page
Sequence Diagram
241 | Page
Sequence Diagram
242 | Page
Sequence Diagram
243 | Page
Sequence Diagram
244 | Page
Sequence Diagram
245 | Page
Sequence Diagram
246 | Page
Sequence Diagram
247 | Page
Sequence Diagram
248 | Page
3.4.7 View event detail
Class Diagram
249 | Page
Sequence Diagram
250 | Page
Sequence Diagram
251 | Page
Sequence Diagram
252 | Page
Sequence Diagram
253 | Page
Sequence Diagram
254 | Page
Sequence Diagram
Sequence Diagram
255 | Page
3.4.14 Share event
Class Diagram
Sequence Diagram
256 | Page
Sequence Diagram
257 | Page
Sequence Diagram
258 | Page
Sequence Diagram
259 | Page
Sequence Diagram
260 | Page
Sequence Diagram
261 | Page
Sequence Diagram
262 | Page
Sequence Diagram
263 | Page
Sequence Diagaram
264 | Page
3.5.2 Create google form
Class Diagram
Sequence diagram
265 | Page
3.5.3 Edit Form
Class Diagram
Sequence diagram
266 | Page
3.5.4 Clear Form
Class diagram
Sequence diagram
267 | Page
3.5.5 Save Draft
Class Diagram
Sequence diagram
268 | Page
3.5.6 View list draft event
Class Diagram
Class Diagram
269 | Page
3.5.7 Edit Draft
Class Diagram
Sequence Diagram
270 | Page
3.5.8 Delete Draft
Class Diagram
Sequence Diagram
271 | Page
3.5.9 View list pending event
Class Diagram
Sequence Diagram
272 | Page
3.5.10 Cancel Event
Class Diagram
Sequence diagram
273 | Page
3.5.11 Move to draft
Class Diagram
Sequence diagram
274 | Page
3.5.12 View my created event
Class Diagram
Sequence Diagram
275 | Page
3.5.13 View event statistic
Class Diagram
Sequence diagram
276 | Page
3.5.14 Export statistic
Class Diagram
Sequence Diagram
277 | Page
3.5.15 View list checked in student
Class diagram
Sequence diagram
278 | Page
3.5.16 View list registered student
Class Diagram
Class Sequence
279 | Page
Sequence Diagram
280 | Page
Sequence Diagram
281 | Page
3.6.2 Display on homepage
Class Diagram
Sequence Diagram
282 | Page
Sequence Diagram
283 | Page
Sequence diagram
284 | Page
Sequence Diagram
285 | Page
Sequence Diagram
286 | Page
Sequence Diagram
287 | Page
Sequence Diagram
288 | Page
Sequence Diagram
289 | Page
Sequence Diagram
290 | Page
Sequence Diagram
291 | Page
Sequence Diagram
292 | Page
Sequence Diagram
293 | Page
Sequence Diagram
294 | Page
Sequence Diagram
Sequence Diagram
295 | Page
3.8.6 Filter Account
Class Diagram
Sequence Diagram
296 | Page
3.9 Manage Campus
3.9.1 View campus list
Class diagram
Sequence Diagram
297 | Page
3.9.2 Edit Campus
Class Diagram
Sequence Diagram
298 | Page
3.9.3 Create Campus
Class Diagram
Sequence Diagram
299 | Page
3.10 Manage Building
3.10.1 View All Building
Class Diagram
300 | Page
Sequence Diagram
301 | Page
Sequence Diagram
Sequence Diagram
302 | Page
3.10.4 Search Building
Class Diagram
303 | Page
Sequence Diagram
304 | Page
Sequence Diagram
305 | Page
Sequence Diagram
3.11.3 Active Tv
Class Diagram
306 | Page
Sequence Diagram
3.11.4 Deactive Tv
Class Diagram
307 | Page
Sequence Diagram
308 | Page
Sequence Diagram
Sequence Diageam
309 | Page
3.13.2 Search Group
Class Diagram
Sequence Diagram
310 | Page
3.13.3 View Group Information
Class Diagram
311 | Page
Sequence Diagram
312 | Page
Sequence Diagram
313 | Page
Sequence Diagram
314 | Page
Sequence Diagram
315 | Page
Sequence Diagram
316 | Page
3.13.8 Delete Group
Class Diagram
Sequence Diagram
317 | Page
Class Diagram
Sequence Diagram
318 | Page
3.13.10 Sort Group
Class Diagram
Sequence Diagram
319 | Page
Sequence Diagram
320 | Page
Sequence Diagram
In the scope of the project, there are 4 testing phases: Unit testing, Integration testing, System
testing and Acceptance testing.
321 | Page
The purpose of this phase is to make sure all components collaborate
correctly. Thus, the goal of Integration test is to expose faults in the
2 Integration testing interface and in the interaction between integrated components. This is
particularly beneficial because it determines how efficiently the units are
running together.
System Tests are performed by testers. In this test, tester will be a
3 System testing customer, to test the system as a whole and determine whether or not the
system meets the requirements.
To ascertain whether the system is ready for release, Acceptance testing,
also known as User Acceptance Testing, is carried out. To determine
whether the application satisfies the business' needs, the tester and a few
4 Acceptance testing
alpha test users will test the system during this phase. Testers will create
check list including rules between team members, customers and the
supervisor.
1.2 Types of testing
● Unit Testing
● Integration Testing
● System Testing
● Acceptance Testing
Team performs all functions defined in the SRS based on the approved version.
2. Test Strategy
2.1 Testing Model
Overall, FEMS project uses the Iterative and Incremental Software Process Model that We use specific
testing types to fit the requirement, the characteristic of the system and the human resource of the
project team. The Unit Testing of FEMS applies Automation tests that cover logic of Controller files.
FEMS Front-end works mostly with GUI instead of logic and it depends on FEMS Back-end, so that
FEMS Front-end implements Integration testing and System testing which covers the whole system.
The different types of testing that will be carried out this project are:
● Unit Testing:
○ Testing all individual implemented methods, functions of Controller files.
○ Unit test also includes database testing to verify constraint, transaction, default value, data
types, data format which are mentioned in database design and software requirement.
322 | Page
○ Test case will have to cover all logic branch that function or method could execute with
difference data input
○ Implemented function’s error message will be included in this test.
● Integration Testing:
○ Integration Testing is defined as a type of testing where software modules are integrated
logically and tested as a feature group. The purpose of this level of testing is to expose
defects in the interaction between these software modules when they are integrated.
Integration Testing focuses on checking data communication among these modules.
○ Integration Testing is carried out by performing test manually through interacting with the
Front-end. Test cases will then be recorded, arranged and stored for further reference.
● System Testing:
○ This testing type validates the complete and fully integrated software product. The purpose
of it is to evaluate the end-to-end system specifications.
○ System Testing is performed manually by going through all the system, testing interaction
with the User Interface like an actual user. Similar to Integration Testing, Test cases will be
recorded and stored for further reference.
● Acceptance Testing:
○ This test type will be executed by tester with designed test cases. Acceptance Test is a test
type conducted to determine if the requirements of a specification or contract are met.
Test Level
Type of Tests
Unit Integration System Acceptance
Functional Test X X X X
3. Test Plan
3.1 Human Resources
323 | Page
Worker/Doer Role Specific Responsibilities/Comments
- Manage Test resource and assign test tasks
- Create Test Plan
Test Leader, - Review Test case
Dinh Xuan Hoang - Create Test report
Tester
- Create TC for modules
- Execute test
- Report test result
- Create TC for modules
Nguyen Minh Hoang Tester - Execute test
- Report test result
- Fix bugs
4. Test Cases
1. Unit Test Cases: Report5_Unit Test.xls
2. Integration Test Cases: Report5_Integration Test.xls
3. System Test Cases: : Report5_System Test.xls
324 | Page
5. Test Reports
325 | Page
Figure 5.1.2: Unit Test Statistic
326 | Page
Figure 5.2.1: Integration Test Case List
327 | Page
Figure 5.2.3: Integration Test Case Sample
328 | Page
Figure 5.3.2: System Test Case Sample
ID Checklist Yes No
User Interfaces
1 All of the FU's Event Management’s screens will be responsive Yes
to display information clearly and well organized in any screen
size
Software Interfaces
3 FEMS Front-end sends requests to Google Cloud API to perform Yes
authentication, FEMS Back-end verifies authentication token.
4 FEMS Back-end send request to FAP API to get fpt account Yes
detail.
Usability
5 The interface is friendly, simple and easy to use. Yes
6 The steps are short and easy to understand so that the user can Yes
interact with the application without training
7 Main functions are organized into tabs for easier access. Yes
329 | Page
8 Links, buttons, and checkboxes are easily clickable. Yes
Security
10 The system must use token-based authentication, in which the Yes
authentication server returns an access token user logged in
with @fpt.edu.vn email.
Performance
11 Any pages in the system shall fully load in at maximum of 30 Yes
seconds in normal condition.
12 Website can hold at least 200 people at the same time Yes
Localization
Feature
16 Manage TV Yes
330 | Page
Figure 5.4.2: Admission rate from customer
331 | Page
VI. Release Package & User Guides
1. Deliverable Package
2. Installation Guides
2.1 System Requirements
Minimum Requirement:
Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz
RAM 8.00 GB
Recommend Requirement:
Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz 2.40 GHz
RAM 8.00 GB
Required software:
Microsoft SQL Server 2019, Visual Studio 2017
332 | Page
Microsoft SQL Server 2019
Step1: Click on this link to download
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
Step 3: After opening the application, there are three different options for users to choose from based
on their purpose.
333 | Page
1. Basic: This is the simplest option for users, where the application will automatically install
basic functions for you.
2. Custom: This is the setup section for those who want to use the application more deeply.
When you choose this option, you will be able to manually configure the software settings.
3. Download Media: When you select this option, the system will download an offline installation
file for you to install on multiple devices without having to reload from the beginning.
334 | Page
In this tutorial, I will choose the Basic mode. Please select Basic and click Accept, then click the Install
button to proceed with the installation.
Step 4: Here, we need to click the Customize button to start configuring the settings for use.
335 | Page
Step 5: For the first window, we click Next.
336 | Page
Step 6: The system will check if the items meet the requirements. A green checkmark means that it's
good to go. Usually, the Firewall item will be yellow, warning that it may affect the installation process.
You can skip this item and continue by clicking Next.
337 | Page
Next, in the Product Key section, you need to select the developer option to use this software for free.
Then, click Next to proceed.
"In the License Terms section, select 'I accept the license terms and Privacy Statement' and click Next.
338 | Page
In the Features Selection section, it's recommended to select Database Engine Services, Data Quality
Client, and Client Tools Connectivity to ensure that the application provides enough packages and
functions for you to learn the full course of the database. Then, click Next.
339 | Page
340 | Page
Step 7: In the Feature Configuration Rules section, you can give a name to the Instance (the name can
be anything you like, without accents or spaces) and then click Next until you reach the Database
Engine Configuration part.
Step 8: In this section, we select the Mix Mode option. This is a security feature for your database.
Next, enter the password for your super admin (sa) account. Finally, click the 'Add current User' button
to add the account.
Lastly, click Next until you reach the Ready to Install section.
341 | Page
Step 9: This is the final section. You just need to click Install and wait until the installation file finishes,
then click Close to complete the process.
342 | Page
343 | Page
SQL Server Management Studio (SSMS)
Step 1: You click the Install SSMS button. The system will automatically take you to the download
link.
344 | Page
Step 2: Click on 'Download SQL Server Management Studio (SSMS)' to download the SSMS file.
Step 3: Open the file you just downloaded and click Install to install the user interface for the
software.
345 | Page
Finally, after the installation is complete, select Close to finish.
346 | Page
Visual Studio 2017
Step1: click on this link and download
https://download.com.vn/download/visual-studio-105771?linkid=62990
347 | Page
Select the following workloads and press “Modify”
348 | Page
*After the download completed, visual studio 2017 should look like this
349 | Page
Source Code
Step1: go to this link: https://gitlab.com/fu-sep490-g2/event-management
Example(using tortoisegit)
350 | Page
Step 4: Paste the link copy in git lab to the URL and press “Ok”
Step 5: Click “Close” when the cloning process completes and open the project folder.
351 | Page
Step 6: Right click on “capstone.sln” and select “Open with” then choose VisualStudio 2017
Step 7: Open folder “capstone.database” and run in order two script “SchemaScript.sql” then
“DataScript.sql” to create database.
352 | Page
Step 8: Click on Web.config in project “capstone” and change the connectionString value into your
setting in Microsoft SQL Server.
353 | Page
3. User Manual
3.1 Overview
This user guide will provide detailed instructions for user features according to each role (Guest,
Student, Organizer, Mangader, Admin) when accessing the FU’s Event Management website
https://expspace.fpt.edu.vn/
3.2.1.1 Login
1. From the homepage, users click the [Login] button,
354 | Page
3.2.1.2 Logout
1. At the top right of screen, click [Logout] button
355 | Page
3.2.1.3 View public event
1. Click a shared link of public event (can be viewed without login), detail of event will be shown.
356 | Page
3.2.2 Student actor
3. In here, you can change avatar by click [Update Image], change First name, Last name, Phone
then click [Hoàn thành] to submit all new profile information.
357 | Page
3.2.2.3 View your Event Calendar
1. Login as student
2. In homepage, click [Lịch sự kiện của tôi] button to view all events in FPT University
358 | Page
3. All events that you bookmarked or registered will be display.
Change week by clicking [Previous Week] / [Next Week] buttons on the top of the screen.
359 | Page
3.2.2.4 View all events
1. Login as student
2. In Homepage, click [Tìm kiếm sự kiện] on the sidebar.
360 | Page
3. Click on [Sàng lọc danh sách] button.
4. Fill in [Tên Sự Kiện] text field, choose “Thể loại”, “Tổ chức bởi”, “Trạng thái” and “Khoảng
thời gian”.
5. Click [Tìm kiếm] button.
361 | Page
3. All of your registered events will be displayed.
362 | Page
3.2.2.7 Report/Bookmark/Share/Register/Feedback an event
1. In event detail screen click [Report] button to report this event.
2. In event detail screen click [Quan tâm] button to bookmark this event.
3. In event detail screen click [Chia sẻ] button to share this event to Facebook.
4. In event detail screen click [Phản hồi] button to feedback this event.
a. After writing feedback, click [Sửa] button to edit your feedback.
b. After writing feedback, click [Xóa] button to delete your feedback.
363 | Page
5. In event detail screen click [Đăng ký] button to register this event.
6. A registration form will be displayed. Fill necessary information in form then submit it.
364 | Page
3. Click on [Sự kiện quan tâm] button on the sidebar.
4. List of your bookmarked events will be displayed.
365 | Page
3. Click on [Sự kiện quan tâm] button on the sidebar.
4. List of your checked-in events will be displayed.
366 | Page
3. Click link in group’s name to view group’s information.
4. Click [Danh sách thành viên] button to view list of member in this group.
367 | Page
5. Member list of this group will be displayed.
368 | Page
3.2.3.2 Create an event
1. Login as Organizer.
2. In Homepage, click [Tạo sự kiện] button.
369 | Page
370 | Page
371 | Page
4. Click the [Create] button. Besides, click the [Save draft] button to save this as a draft.
372 | Page
3.2.3.4 Export statistic
1. Login as Organizer.
2. In Homepage, click [Sự kiện của tôi] button.
373 | Page
4. Click [Xuất thông tin ra file excel] button.
374 | Page
3. Click [Điểm danh] button.
375 | Page
3.2.3.6 Manage draft events
1. Login as Organizer
2. In Homepage, click [Sự kiện lưu nháp] button.
3. Click [Xóa bản nháp này] button to remove draft event. Click [Sửa bản nháp này] button to
edit event information.
376 | Page
3.2.3.7 View University Event Calendar
1. Login as Organizer
2. In Homepage, click [Xem lịch sự kiện] button.
3. Events will be displayed in a weekly view. Change week by clicking [Tuần trước] / [Tuần sau]
buttons on the top of the screen. Back to this week's view by clicking on the [Tuần này] button.
4. Click [Filter] button to view events with specified category and organizer.
377 | Page
3.2.3.8 Leader edit group information
1. Login as Organizer
2. In Homepage, click the [Xem các câu lạc bộ] button.
3. Click [Sửa] button. (display only if you are leader of this group)
378 | Page
4. Fill new information.
379 | Page
5. Click [Save] button.
380 | Page
3.2.4.2 Create category
1. Login as Manager.
2. In Homepage, click [Tạo thể loại] button.
3. Fill information.
4. Click [Tạo mới] button.
381 | Page
3.2.4.3 Manage category
1. Login as Manager.
2. In Homepage, click [Xem thể loại] button.
382 | Page
5. Click [Lưu] button.
383 | Page
4. Click [Xác nhận] button.
384 | Page
3.2.4.6 Manage report of an event
1. Login as Manager.
2. In Homepage, click [Xem báo cáo] button.
385 | Page
3.2.4.7 Manage group
1. Login as Manager.
2. In Homepage, click [Xem các câu lạc bộ] button.
386 | Page
4. Click [Đổi chủ tịch] button. Then click [Chọn người này] button. Click OK button on confirm
dialog.
387 | Page
3. Fill in all information.
388 | Page
4. Click [Hoàn tất] button to complete.
3. In Email, input email of user you want to create account (Email must be of domain
@fpt.edu.vn).
4. In Role, click to checkboxes of roles you want to add to new account.
389 | Page
5. Click [Tạo tài khoản] button.
6. Screen View all accounts will display with newly created accounts.
390 | Page
3. View all account Screen will display.
391 | Page
3. View all account Screen will display.
392 | Page
6. Click [Hoàn tất] button.
7. View all account screen will display with edited account.
3.2.5.4 Manage Tv
1. Login as Administrator.
2. In Homepage, click [Quản lý tivi] button.
393 | Page
3.2.5.5 Manage Event display on Tv
1. Login as Administrator.
2. In Homepage, click [Quản lý tivi] button.
394 | Page
5. Click on [Đánh dấu đặc biệt]/[Đã đặc biệt] to specialize/unspecialized the event on the tv.
395 | Page
3.2.5.6 Manage campus
1. Login as Administrator.
2. In Homepage, click [Quản lý campus] button.
396 | Page
4. Fill in new information.
397 | Page
3. Click on [Tạo mới] button.
4. Fill in information.
398 | Page
5. Click on [Tạo].
399 | Page
4. Fill in new information.
400 | Page
3. Click on [Tạo mới] button.
4. Fill in information.
401 | Page
5. Click on [Tạo]
402 | Page