CSC264-Foreign Language Learning Report (GROUP PROJECT)
CSC264-Foreign Language Learning Report (GROUP PROJECT)
LEARNING>
CSC264
Final Report
Group Web-Based System
GROUP: M3CDCS1104A
Fatin
Siti
Adawiyah
Ina
TABLE OF CONTENT
2.0 Introduction 4
3.0 Objectives 4
10.0 Testing
10.1 Unit Testing
10.2 Integration testing 65 - 90
10.3 System Testing
12.0 References 96
13.0 Appendix 97 - 99
2
1.0 ORGANIZATIONAL CHART
3
2.0 INTRODUCTION
Our company’s name is 2Lingo. This company's purpose is to make learning multiple
languages more convenient for people to gain knowledge. 2Lingo uses a web-based
language learning application that provides interactive lessons like quizzes made for users
who are looking to learn a new language with interesting features. Our platform creates a
modern tool to learn different types of languages for better understanding to help people
innovatively learn various languages. In most cases people are lacking language skills which
make it difficult for them to interact with natives when they are traveling overseas. In
conclusion, by developing this website, we aim to solve this problem to help people
communicate in expressing their true feelings, thoughts, and experiences.
3.0 OBJECTIVES
1. To build relationships and connect with people from different language backgrounds.
2. To enjoy multilingual media such as understanding foreign movies, songs and books.
3. To enhance writing skills in spelling, grammar and vocabulary of multiple languages.
4
4.0 FLOWCHART FOR EACH USER
4.1 ADMIN
5
4.2 STUDENT
6
5.0 USER INTERFACE
5.1 ADMIN
Step 1 : To login, admin needs to click the “Admin navigation” button at the top. Since admin
data is manually inserted in the database, only the admin can login to this page. They must
enter their name and password then click “LOGIN” to access the system.
If they entered a wrong name or password, the text area will be reset to empty. Meaning
that, they must enter a valid name and password.
Step 1.1 : A welcome pop-up message with the admin name will appear after successfully
login. Then the admin can click “OK” to go to the next page.
7
Step 2 : Admin dashboard will appear. The admin will get access to “VIEW STUDENTS
RECORDS”, “SEARCH STUDENT RECORDS”, “DELETE STUDENTS RECORDS”,
“UPLOAD LESSON”, “VIEW UPLOADED LESSON” and “UPDATE UPLOADED LESSONS”.
Step 3 : For instance, if the admin wants to view students' records, they can click on the
“VIEW STUDENTS RECORDS” button. This page contains the list of students registered in
the system with their ID, NAME and EMAIL. To return to the admin dashboard, click the
“BACK TO HOME” button.
8
Step 4 : By clicking the “SEARCH STUDENT RECORDS” button, admin can look up specific
students' details by their ID. For example, student's ID number 1. They can input the number
in the text box and click the “Search Student ID” button. Then the students' details will show
up. To return to the admin dashboard, click the “BACK TO HOME” button.
Step 5 : To delete any student records, admin can click the “DELETE STUDENT
RECORDS" button. The list of students will appear with an action row “delete”. Admin can
click it to delete any records.
9
Step 5.1 : For example, the admin wants to delete student ID number 10. Once the “delete”
action is clicked from the record, an alert message will pop-up to confirm the deletion.
Step 5.1.1 : If the admin clicks “OK”, a pop-up message will appear as the record is
successfully deleted. Then click “OK” again to return to the delete student page and see that
the record has been deleted.
10
Student ID number 10 is removed
Step 5.1.2 : If they click “Cancel”, the deletion will not occur and the student record will still
be recorded. The admin can click the “BACK TO HOME” button to return to the admin
dashboard.
Step 6 : To upload lesson questions, admin must click the “UPLOAD LESSON" button. Once
clicked, the admin needs to choose the language they want to upload. For instance, English.
11
Step 6.1 : Once the language is chosen, a page to add a lesson will appear. Admin must
insert the Question, Option A, B, C ,D and the Correct Option. When completed, they need
to click the “Add Lesson” button to upload the lesson into the database.
Step 6.2 : A pop-up message will appear if the lesson is added successfully. Click “OK” to
return back to the page.
12
Step 7 : To view all the uploaded lesson records, admin needs to go to the “VIEW
UPLOADED LESSON" button. Once clicked all the records will be displayed with the lesson
ID, LANGUAGE, OPTION A, B, C, D and CORRECT OPTION. To return to the admin
dashboard, click the “BACK TO HOME” button.
Step 8 : To modify and delete any uploaded lesson, admin needs to click “UPDATE
UPLOADED LESSON”. The below page will appear. A text box search and all the lesson list
will be displayed with an action row “edit” “delete”.
13
Step 8.1 : To make it easier, the admin can search the lesson by language by inserting the
language in the text box then clicking the “Search Lesson Language" button. For instance,
English. When the button is clicked, only the list of English language lessons will be shown.
Step 8.2 : If the admin wants to edit a record, they can click the “edit” action. For example,
lesson ID number 1. The page will go to the edit lesson page. Admin can modify any column
in the lesson. For instance, admin wants to change Option B to “Mouse”. To confirm, they
can click the “Submit” button.
Unmodified Record
14
Modified Record
Step 8.2.1 : Once clicked, a pop-up message will appear as the record is successfully
modified. Then click “OK”, to return to the update lesson page.
15
Step 8.3 : If the admin wants to delete a record, they can click the “delete” action. For
example, lesson ID number 2. Once clicked, an alert message will pop-up to confirm the
deletion.
Step 8.3.1 : If the admin clicks “OK”, a pop-up message will appear as the record is
successfully deleted. Then click “OK” again to return to the update page and see the deleted
record.
16
Lesson ID number 2 is removed
Step 8.3.2 : If they click “Cancel”, the deletion will not occur and the lesson record will still be
recorded. The admin can click the “BACK TO HOME” button to return to the admin
dashboard.
Step 9 : Lastly, after the admin has finished with their task, they need to logout from the
system by clicking the “Logout” navigation button at the top. Then they will be directed back
to the registration page.
17
5.2 STUDENT
Step 1 : This is our website's home page. Students can sign up by clicking the “Register
Now !!” button to join our website.
Step 2 : Students can access more information about us by using the "About Us" option
located in the top menu navigation.
18
Step 3 : In order to learn more about our website, students can reach us by phone or by
clicking the email icon or link in this webpage.
Step 4 : If the students want to join our website, they must fill out the student details on this
webpage in order to register after clicking the "Register Now !!” button on the homepage.
This is the requirement before they can access the website. Next, click “REGISTER” to go to
the next page.
19
Step 4.1 : A notification message (pop-up) will appear at the top of the webpage to let the
student know when they have successfully registered. Click “OK” to go to the next page.
Step 5 : After registration, students will be directed to the Login Page. Students must insert
their name and password correctly, then click the “Login” button.
20
Step 5.1 : A welcoming notification message (pop-up) will show at the top of the page to
greet students to the website when they have successfully logged into their accounts. Go to
the next page, then click the "OK" button.
Step 6 : After that, students can view the language package available on the website by
using this page as a lesson plan for them to choose the quiz language they want. Then, click
“START LESSON” to start the quiz.
21
Step 7 : Next, students can choose any language they want to start the quiz on this
webpage. We provided three languages in the website which are Korean, Arabic and English
for our users.
Step 8 : The student will be directed to this page to answer the question that the
administrator has uploaded.
If they click the Korean language quiz, the questions will appear. After answering the
question, click the “Submit” button to view the score.
Korean Quiz
22
Arabic Quiz
English Quiz
23
Step 9 : The score webpage will show up once they have responded to the question so they
can see their score. In case they receive an incorrect answer, students have the option to
verify the correct answer. When finished, students can return to the previous webpage by
clicking the “BACK TO HOME” button.
Step 10 : Students can exit the website by using the “Logout” button found in the top menu
navigation to exit from the website.
24
Step 11 : Students may press the back button to return to the home page after clicking the
“Logout" button, which will cause this page to appear as a thank you for joining us.
25
6.0 FRONT END DEVELOPMENT (HTML, CSS, JavaScript)
6.1 Admin
headerFooter.css
26
lesson.php
27
lesson.css
28
Home.php
29
About.php
30
Contact.php
31
adminLoginPage.php
32
adminHome.php
33
viewStudent.php
34
35
searchStudent.php
36
37
languageAdmin.php
38
deleteStudent.php
39
40
view_lesson.php
41
42
addLesson.php
43
44
search_edit_deleteLesson.php
45
46
edit_lesson.php
47
48
thankYouPage.php
49
6.2 Student
registration.php
50
studentLoginPage.php
51
lesson.php
52
languageStudent.php
53
answerLesson.php
54
55
56
7.0 BACKEND DEVELOPMENT WITH PHP (Codes development)
ADMIN
adminLogin.php
delete_lesson.php
57
STUDENT
studentRegister.php
58
studLogin.php
59
8.0 DATABASE DESIGN (PHPMYADMIN)
This is the database design for a PHPMyAdmin module used for Foreign Language
Learning. Basically, there are three tables in our project which are lesson, student and
admin. The relationship in this system is many to many and table Lesson functions as a
composite entity that connects the table admin and student. Multiple lessons can be
uploaded by an admin, and multiple lessons can be taken by a student through our system.
Additionally, we manually enter data into the system only for the table admin and all other
data must be stored via the website.
60
This is the attributes in our database system PHPMyAdmin :
Admin
Student
Lesson
61
Data Dictionary :
Admin
Student
Lesson
62
9.0 USER AUTHENTICATION AND AUTHORIZATION (LOG IN, SECURITY)
ADMIN
Admin does not need to register. The admin only needs to key in their name and password
before getting access to the website. If the admin leaves the field empty, a mini pop-up will
notify the admin to fill out the empty field.
Meanwhile, if the admin entered a wrong name or password, the field will reset to empty
meaning that the admin must enter a valid name and password first before getting the
access to the website.
63
STUDENT
If the unregistered student tries to login into the website, an alert message will appear to
remind them to register first. After the registration is successful, they can login to the website
as usual. This is to make sure our system cannot be accessed by the unauthenticated users.
Unregistered student
64
10.0 TESTING
10.1 UNIT TESTING
ADMIN
Short Description: Test if the Admin can interact with the login interface
Pre-conditions
● AdminName
● AdminPassword
65
grants access to the account if the an empty field,
user’s account if the credentials are correct. the system will
credentials are display an
correct. appropriate
error message
indicating the
failure.)
Post-conditions
Login Admin :
● Successfully logged in to the admin’s interface
66
Test Case #: 2 Test Case Name: Admin Home Page
Interface
Short Description: Test if the Admin can interact with the interface
Pre-conditions
● AdminName
● AdminPassword
67
2 Click on each Redirected the button of: Pass
button • VIEW STUDENT RECORDS
to View Students Records Page
• SEARCH STUDENTS
RECORDS to Search Student
Record Page
• UPLOAD LESSON to Add
Lesson Page.
• DELETE STUDENT
RECORDS to Delete Student
Record Page
• VIEW UPLOADED LESSON to
View Lesson Records Page
• EDIT UPLOADED LESSON to
Edit Lesson Page.
Post-conditions
Admin successfully viewed, searched, uploaded, deleted and edited students/lesson
records.
STUDENT
Short Description: Test if the Student can interact with the login interface
Pre-conditions
● StudName
● StudPassword
68
Step Action Expected System Pass/Fail Comment
Response
Post-conditions
Login Student :
● Successfully logged in to the student’s interface
69
Test Case #: 4 Test Case Name: Home Page Student
Interface
Short Description: Test if the Student can interact with the interface
Pre-conditions
● StudName
70
● StudPassword
Post-conditions
Student successfully starts the lesson.
ADMIN
71
System: Foreign Language Learning Subsystem: Authentication, Admin
Dashboard(Admin HomePage)
Short Description: Test if the Admin can interact with the dashboard interface
Pre-conditions
● Authentication service is operational
● Admin account exists
Post-conditions
● Admin session is active
● Admin dashboard is displayed
72
Test Case #: 2 Test Case Name: View Student
Integration
Short Description: Test the integration between the admin interface and the student
database subsystem.
Pre-conditions
● Admin is logged into the system
● Student with a specific ID exists in the database
Post-conditions
● Student records are displayed on the admin interface.
73
Test Case #: 3 Test Case Name: Search Student
Record Integration
Pre-conditions
● Admin is logged into the system
● Student with a specific ID exists in the database
74
3 Admin clicks the The system filters student Pass( The
“Search Student records based on the student ID is
ID” button entered student ID and available in
matching student records the database
are displayed in a list and matching
format. records are
displayed.)
Fail( The
student ID is
not available
in the
database,
and no
records are
displayed.)
Post-conditions
● Admin can view the student records entered before.
75
Test Case #: 4 Test Case Name: Upload Lesson
Integration
Short Description: Verifies the integration between lesson management and lesson
database for creating and storing quiz-based lessons.
Pre-conditions
● Admin is logged into the system and on the lesson upload page.
76
upload page and the correct answer. A
uploads it. confirmation message
is displayed.
Post-conditions
● The new lesson is available in the system.
Short Description: Verifies the integration of the delete functionality with the student
records database
Pre-conditions
● Admin is logged into the system
● Student with a specific ID exists in the database
77
Step Action Expected System Pass/Fail Comment
Response
Post-conditions
● Admin can confirm that the student record is deleted by verifying its absence
from the student records list.
Short Description: Verifies the integration of viewing uploaded lessons with the
lesson database.
78
Pre-conditions
● Admin is logged into the system
● Lessons are uploaded and available in the database.
Post-conditions
● Admin can view the list of uploaded lessons.
79
Executed by: Siti Nurazwani Execution Date: 21/6/2024
Short Description: Verifies the integration of editing uploaded lessons with the lesson
database.
Pre-conditions
● Admin is logged into the system
● Lessons are uploaded and available in the database.
Post-conditions
● Admin can confirm that the lesson details are uploaded.
STUDENT
80
Test Case #: 8 Test Case Name: Student Login
Integration
Short Description: Test if the Student can interact with the student’s lesson interface
Pre-conditions
● Authentication service is operational
● Student account exists
Post-conditions
● Student session is active
● Student lesson page is displayed
81
Test Case #: 9 Test Case Name: Start Lesson
Short Description: Test if the Student can interact with the language student’s
interface.
Pre-conditions
● Student account exists
Post-conditions
● Student lesson plan page is displayed
● Student start lesson is displayed
82
Test Case #: 10 Test Case Name: Start Language
Quiz
Short Description: Test if the Student can interact with the language student’s
interface.
Pre-conditions
● Student account exists
● Language and lesson with a specific ID exists in the database
83
Post-conditions
● Student score and correct answer page is displayed
ADMIN
Short Description: Validates the complete workflow for admin functionalities from
login to lesson management.
Pre-conditions
● Admin credentials are set up in the system.
● Students and lessons exist in the database
84
Step Action Expected System Pass/Fail Comment
Response
85
7 Admin clicks on the The system displays Pass
“UPLOAD LESSON” options to select the
button language (Korean,
Arabic, English) with
buttons for each
language.
86
12 Admin clicks on the The system displays a Pass
“EDIT UPLOADED list of uploaded lessons
LESSON” button with an option to edit
each lesson.
Post-conditions
● The system correctly reflects all changes made by the admin during the test
(e.g., deleted student records, uploaded lessons, edited lessons).
Short Description: Verifies that non-admin users cannot access the admin
dashboard.
Pre-conditions
87
1 Non-admin user Access denied(user is Pass (If all of the
attempts to redirected to the admin credentials are
access the admin login page which correct)
dashboard URL means user need to
directly enter the correct
credentials in order to
access admin
dashboard)
Post-conditions
● Non-admin users cannot access the admin dashboard.
Pre-conditions
88
● Multiple admin users are set up in the system.
Post-conditions
● The system remains stable and responsive under load.
STUDENT
89
System: Foreign Language Learning Subsystem: Students and lessons
management.
Short Description: Validates the complete workflow for student functionalities from
login to logout management.
Pre-conditions
● Student credentials are set up in the system.
● Students and lessons exist in the database.
90
5 Students view the The system stores the Pass
score and the score and the correct
correct answer. answer for the question in
the webpage.
Post-conditions
● The system correctly reflects all the students quiz page(e.g. start lesson).
91
Test Case #: 5 Test Case Name: Security Testing -
Unauthorized Access
Short Description: Verifies that non-admin users cannot access the admin
dashboard.
Pre-conditions
Post-conditions
● Non-student users cannot access the student login system.
92
Test Case #: 6 Test Case Name: Performance
Testing - Load Test
Pre-conditions
Post-conditions
93
● The system remains stable and responsive under load.
Table 10.1 Total Score for 5 Respondents based on System Usability Scale
Respondents 1 2 3 4 5
A total score
of the 82.5 90 97.5 95 85
application
94
95
96
97
98
12.0 REFERENCES
1. Wiley Online Library (June 2024). Language Learning A Journal of Research in
Language Studies[Website]. Retrieved from
https://onlinelibrary.wiley.com/journal/14679922
2. Cnet (Jan 1, 2024). Best Language Learning Apps for 2024[Website]. Retrieved from
https://www.cnet.com/tech/services-and-software/best-language-learning-apps/
3. The Learning Center (Feb 20, 2024). Learning Languages[Website]. Retrieved from
https://learningcenter.unc.edu/tips-and-tools/learning-a-second-language/
99
4. Mr. Web Designer (Oct 1, 2022). Complete Responsive Online Education Website
Design Using HTML/CSS/JS/PHP-Demo[YouTube]. Retrieved from
https://www.youtube.com/watch?v=wvu37Ze0HmE
5. Planics dev (Jun 11, 2020). E-class System using PHP | academy Site | E-learning
Management system| ELMS | 2020 | PHP Project[YouTube]. Retrieved from
https://www.youtube.com/watch?v=-Gtlo6wMDPs
13.0 APPENDIX
APPENDIX A
Conduct testing with 5 users and analyze the SUS score. You can distribute the test via
Google Forms.
References :
https://usabilitygeek.com/how-to-use-the-system-usability-scale-sus-to-evaluate-the-usability
-of-your-website/
The odd and even-numbered responses are scored individually; here’s how:
100
1. Add up the responses for the odd-numbered questions. Then, subtract 5 from the
total for the odd score.
2. Add up the responses for the even-numbered questions. Then, subtract the total from
25 for the even score.
3. Add your odd and even scores, and multiply the total by 2.5 for your SUS score out
of 100.
The scores should not be interpreted as percentages because they are percentile ranks.
A score of 80 or higher equates to exceptional usability and will be placed in the top 10% of
apps. While scores below 50 are not acceptable.
101
102
APPENDIX B
Diagram 12.1 shows the Entity Relationship Diagram (ERD) of this project
103