Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

TELONE CENTRE FOR LEARNING

DIPLOMA IN SOFTWARE ENGINEERING

TCFL ACADEMIC COMMUNITY

BY GILBERT T LOPA (T1829228B)

ID NUMBER: 63-2197575 S 63

CLASS: TTT2 2018

MAIN SUPERVISOR: MRS WASHINYIRA

CO-SUPERVISOR: MR NCUBE

1|Page
ABSTRACT

The modern-day community are in need of Question-and-Answer platform where


individuals can post their question and get response from other platform users. With
this movement of knowledge will be broad and vast. Now with these merits, it is
necessary to a greater extent to develop such a platform for a college such as
TELONE CENTRE FOR LEARNING for students where they can post questions
and get feedback from other colleges and interact with other. These types of systems
not only help spread information fast but also, they can be used for analysis and
determine subjects’ students are failing to grasp and the most common asked question
or the most used programming languages versus the least used programming
languages.

2|Page
DECLARATION

I, GILBERT T. LOPA hereby declare that I am the sole author of this dissertation. I
authorize TELONE CENTRE FOR LEARNING to lend this thesis to other
institutions or individuals for the purpose of scholarly research.

Signature _________________________________

Date _________________

3|Page
APPROVAL

This dissertation entitled “TCFL KONNECT” by GILBERT T. LOPA meets the


regulations governing the award of the DIPLOMA IN SOFTWARE
ENGINEERING of TELONE CENTRE FOR LEARNING and is approved for its
contribution to knowledge and literal presentation.

Supervisor:

Date:

4|Page
ACKNOWLEDGEMENT

I owe a huge debt of appreciation to my academic institution TELONE CENTRE FOR


LEARNING for granting me an opportunity to undertake my studies. Special thanks to the
lecturers in the department of SOFTWARE ENGINEERING especially my supervisors Mrs
Washinyira and Mr Ngobe thank you for guiding and assisting me throughout the compilation
of this document.

I would also, like to take this opportunity to thank my family members for their moral and
emotional support they showed me throughout my studies. Ultimately, above all my gratitude
goes to God the Almighty for the gift of life, wisdom and strength to pull through. May the
Lord abundantly bless those who had an impact in this research.

5|Page
CONTENTS

CHAPTER I ............................................................................................................ 9

1.1 Introduction.................................................................................................... 9

1.2 Background Information ................................................................................ 9

1.3 Problem Definition ....................................................................................... 10

1.4 Proposed Solution ........................................................................................ 10

1.5 Aim .............................................................................................................. 10

1.4 Objectives .................................................................................................... 10

1.5 Functionality ................................................................................................ 10

1.6 Hypothesis ................................................................................................... 11

1.7 Justification .................................................................................................. 11

1.8 Conclusion ................................................................................................... 11

CHAPTER II: PLANNING PHASE ...................................................................... 12

2.0 Introduction.................................................................................................. 12

2.1 Why build the system ................................................................................... 12

2.2 Information Gathering Process ..................................................................... 12

2.3 Overall Benefits ........................................................................................... 13

2.4 Feasibility Study .......................................................................................... 13

2.5 Work Plan .................................................................................................... 14

2.6 Conclusion ................................................................................................... 15

CHAPTER III: ANALYSIS PHASE ..................................................................... 16

3.1 Introduction.................................................................................................. 16

3.2 Analysis of existing system .......................................................................... 16

6|Page
3.3 Overview of Proposed System...................................................................... 16

3.4 Weaknesses of the current System................................................................ 17

3.5 Strengthen of the current System .................................................................. 17

3.6 Evaluation of alternatives ............................................................................. 17

3.7 Requirement analysis ................................................................................... 18

3.8 Conclusion ................................................................................................... 19

CHAPTER IV: DESIGN PHASE .......................................................................... 20

4.1 Introduction.................................................................................................. 20

4.2 System design .............................................................................................. 20

4.3 System inputs ............................................................................................... 21

4.4 System Processes ......................................................................................... 22

4.5 System Output.............................................................................................. 22

4.6 Architecture Design ..................................................................................... 23

4.7 Database Design........................................................................................... 24

4.8 Conclusion ................................................................................................... 26

CHAPTER V: IMPLEMENTATION AND TESTING ......................................... 27

5.0 Introduction.................................................................................................. 27

5.1 Code and construction .................................................................................. 27

5.2 Testing ......................................................................................................... 31

5.3 Security ........................................................................................................ 32

5.4 Maintenance ................................................................................................. 32

5.5 System Evaluation........................................................................................ 33

5.7 System Review............................................................................................. 33

5.8 Conclusion and future work ......................................................................... 33

REFENCES ....................................................................................................... 34

7|Page
8|Page
CHAPTER I

1.1 Introduction
COVID 19 has resulted in countless hardships, lockdowns and closures of institutes and
social gatherings. As a result, movement of knowledge was affected to a greater extent
as students all over the TCFL campus failed to reach other colleagues’ and share
information and resources.
Not that, we observed that students over the campus that hold information are not
popularly recognised, meaning that if a different student wants to obtain knowledge
about a certain module, he/she might fail to obtain the knowledge due to not knowing
were to attain it from.
Viewing from a global approach programmer over the world failed to get answers over
a specific error/bug they were currently facing, which lead to a majority of them being
stuck mid-way (project wise). As a solution, a group of programmers developed a
world-wide community where programmers post their errors and faulty code and get
instant answers from other programmers.

1.2 Background Information


Over the past year’s students used search engines (such as Google, Microsoft Bing,
Yahoo etc.) as a method to search for information. This method of information gathering
is efficient yes but as a down-side it all depends if blogger or information holders actual
post the information online.

For an instance if a student is assigned to research on the Revolution of Zimbabwe from


2001-2020, he/she will have a hard time because there is very few information and
sources online that provides the needed information pertaining to the subject. Hence a
need for an integrated community where students can gather the few information they
have and come up a vast amount of knowledge.

9|Page
1.3 Problem Definition
The “new normal” brought on forward by this pandemic, lockdown and isolation
measures has caused several challenges for junior programmers at TelOne, leaving most
of them isolated.

With this, if a student faces a challenge, he/she won’t get sufficient help from remote
areas leaving him/her with countless unsolved queries. If students are spread-out
movement of information will be low thus a need for an integrated community.

1.4 Proposed Solution


Develop a TCFL Academic community that allows student to post queries/question
based upon their challenges and get help from another student. The main purpose of the
system to bring all student together and share resource and solve challenges as a
community. The platform should be a knowledge-based platform where students can
visit and get instance feedback from other colleagues.

1.5 Aim
Promote movement of knowledge and assist other colleagues in terms of attaining the
knowledge.

1.4 Objectives
➢ Develop a community for the campus.
➢ Students should be able to post a question in text or code
➢ Get accurate answers from other colleagues.
➢ Promote movement of knowledge during this pandemic

1.5 Functionality
From the begin student has to create to the system using his campus credentials. After
account creation student will have to login into the so that the system track user
activities and store history. Student is only then allowed to post a question or answer

10 | P a g e
questions from other colleagues. Student is also permitted to search for a question and
obtain tagged answers to the question.

The system permits students to chat with an individual who provided the answers and
source. The Dashboard for the student permits them to delete old posts, edit credentials
and edit their bio. Dashboard also displays their history (such as previous posts and
answers), personal information and make changes if one intends to.

1.6 Hypothesis
H Null Hypothesis: Student might not get help from other colleagues living the user
stuck
H False Hypothesis: Student might be given false information regarding the question
H Misuse Hypothesis: Students will most likely use the platform for social reason
purposes and de-rail from academic visions

1.7 Justification
There are other exiting communities like Reddit where individuals can post questions
online and get instance feedback. Reddit is world Wide knowledge base for individuals
of any profession but as a downfall it’s hard to get answers on Reddit pertaining
Zimbabwean history or the Political, Economic and Social structure of it. Hence the
need for a community built for Zimbabwean students and provide them a “Feel at
Home” environment (as in answers can be in Shona for better understanding)

1.8 Conclusion
In conclusion this platform is outer-most important to a higher extent because in a way
it bring all TCFL students in one place and share knowledge and information new
technology and new coding methods etc.

11 | P a g e
CHAPTER II: PLANNING PHASE

2.0 Introduction
In this chapter the planning phase of the system shall be discussed in relation to “why
we should build the system” and its tangible benefits. The workflow of how the system
will be built shall be clearly to obtain a better visual concept of how the development
process will be approached.

2.1 Why build the system


The answer for the question “why builds the system” can be provided in a statistics
manner that is if we look in a global manner, Google (World Largest Search Engine)
stipulated that Stack Overflow, Yahoo, Quora receive more 30 million searches per day
clearly indicating that people will have question and to obtain this answer they rush
online and get answered on common Question and Answer sites.

As an indication that time is rushing fast and as a Technical Institution, we should try
by all means to catch to the world. If the mentioned system should be built, it will make
students life much easier and enjoyable as help will easy access anywhere and anytime.

2.2 Information Gathering Process


There are so many different methods of information gathering that people have used to
get information such as Questionnaires, surveys, checklist, personal interviews,
documentation review, case studies as well as others but in this case questionnaires and
personal interviews shall be conducted to obtain statistical information and also in
addition more user requirements and input.

12 | P a g e
2.3 Overall Benefits

• System might get


misused and used as
social platform and side
• Brings all students in one track from the main
place and share information objective
• Promotes spreading of
valuable information and
knowledge
• Answer can be in the
current native language

FIG 1 Overall Benefits

2.4 Feasibility Study


The main focus of the feasibility study stage is to determine whether it would be
financially and technically feasible to develop the software. The feasibility study
involves carrying out several activities such as collection of basic information relating
to the software such as the different data items that would be input to the system, the
processing required to be carried out on these data, the output data required to be
produced by the system, as well as various constraints on the development.

2.4.1 Technical Study


On a technical approach, developing this can and shall be done using modern system
design architectures such Separation of Concern i.e., having a Frontend and a Backend.
The main programming language for the system shall be JavaScript for both servers i.e.,
client and backend servers. For storage purposes Neo4j and cypher queries will be used
due to their traversal speeds and functionalities

13 | P a g e
2.4.2 Economical Study
In this case, student should have an internet connection with the minimum speed that
only allows to load new features or user profile updates, and external links. The other
issues to address are the application hosting costs to be incurred upon deploying the
application. The costs are however taken note of, including monthly and yearly
packages.

2.4.3 Operational Study


Operational feasibility is a measure of how well the proposed system solves problems,
does it take advantage of opportunities that arise when applying the application, and
how it responds to the identified the requirements during analysis stage of system
development.

2.5 Work Plan


ACTIVITIES Week Week Week Week Week Week Week
1–3 4–6 7–8 9 – 11 12 – 13 14 – 15 16 -17
(1-11 (14-25 (5-9 (12-23 (26-30 (2-5 (9–13
June) June) July) July) July) Aug) Aug)

Problem
identification
Literature
review
Research

Design
and Coding
Testing

Evaluation

14 | P a g e
Documentation

FIG 2 Gantt Chart

2.6 Conclusion
To conclude, the planning phase is a very essential stage of any sort of project. It shows
the stakeholders what is expected and the tools involved. This stage showed us that we
will be using tools like Node.js and Neo4j for the project. The combination of the
information gathering techniques mentioned above, pillar us of what our targeted
population needs and expectations. With all these factors in consideration, the project
is very much feasible to implement.

15 | P a g e
CHAPTER III: ANALYSIS PHASE

3.1 Introduction
This chapter presents the analysis of the existing chapter and analysis of the proposed
system in depth. In this section, presentations on the research, data analysis, design and
logical flow of the proposed system will be drawn and explained in details. weakness
and strengths of the current system, data analysis and evaluation of alternatives.

3.2 Analysis of existing system


The most common Question and Answer services that are currently running include
Yahoo, Quora, Stack-Over Flow and Reddit which in return provide us with the best
platforms to post questions over the web and get quick results pertaining to the question
in mind. Having an over-view of Reddit, it does provide the ideal platform for
knowledge gathering but the down side of it includes, if a TCFL post a question on
reddit its very unlikely that an answer will be provided since most members on Reddit
do not reside in Zimbabwe.

With this we now know any question posted on Reddit that is inline to the TCFL
syllabus will not get answered. Reddit does not offer that “feel at home” environment
i.e., compared to posting a question on a familiar environment where answer can be
explained in your native language. Getting an answer for a different module (i.e.,
according to TCFL syllabus) is not guarantee. Getting an answer on Reddit might take
long which is a disadvantage to the questioner

3.3 Overview of Proposed System


This system is to provide an ideal platform where students can post a question pertaining
to any module in mind and get feedback and resources from other colleagues. For
specific help form a colleague, the system should allow students to chat with each other
and discover more information and innovative influence that is being post by the
colleague. To avoid directing this system to a social media platform, students will NOT

16 | P a g e
be allowed to send query to a direct colleague. The proposed should promote movement
of knowledge regardless of the COVID 19 restrictions.

3.4 Weaknesses of the current System


Like anything, Reddit has a few weaknesses which include:

➢ Most answers posted on Reddit do not cover the modules done at TelOne Centre for
Learning for example NASS
➢ Reddit does not offer that “feel at home” environment i.e., compared to posting a
question on a familiar environment where answer can be explained in your native
language
➢ Getting an answer for a different module (i.e., according to TCFL syllabus) is not
guarantee.
➢ Getting an answer on Reddit might take long which is a disadvantage to the
questioner

3.5 Strengthen of the current System


Looking at the strengths of Reddit include:

➢ Provide answers for queries posted by individuals


➢ Expand the knowledge base for programmers over the world
➢ In a way Reddit brings all questionees in one place and share knowledge
➢ Answers towards common subjects for an instance in the of programming, are easy
to get in a matter of hours.

3.6 Evaluation of alternatives


1. Support: Proposed system adapts quickly over the current the system because it will
information to be spread in the current native language.
2. Speed: Proposed system will provide answers to question than the current system
since student are familiar with the syllabuses and TCFL functionalities.
3. Proposed solution will allow students to show case their talents and degree of
knowledge and this information can be used for deeper analysis and research.

17 | P a g e
3.7 Requirement analysis
A software requirements definition is an abstract description of the services which the
system should provide and the constraints under which the system must operate.
Requirements define a list of system needs to make it meet goals / objectives for which
it is being designed. In this case we have two types of requirements namely functional
and non-functional requirements.

3.7.1 Functional requirements


Functional requirements indicate what the system should do and the functional
requirements for this system include:

1. Student Login
2. Authenticate Credentials
3. Get user input (question / answer to a question)
4. Store input in database
5. System should permit students to tag question to other colleagues
6. This system should allow students to like and rate a given answer
7. System should allow students to chat each other and discover more information
and knowledge from their peers
8. Provide student performance for analysis

3.7.2 Non-functional requirements


Non-functional requirement specifies how the system should behave. It more of a
limitation imposed on a system. Non-functional requirements are more of quality
features / characteristics / attributes of a given system. Some non-functional
requirements include:

1. Automatic connection to the databases


2. Error handling
3. Refresh pages if errors occur
4. Validate input and scan for malicious scripts

18 | P a g e
3.8 Conclusion
In conclusion the analysis phase of the system label how the system will function and
its overall benefits over the current system (Reddit).

19 | P a g e
CHAPTER IV: DESIGN PHASE

4.1 Introduction
In order to attain best results before the actual implementation, various design
techniques were manipulated in order formalize and layout the system. In this chapter,
system diagrams and data flows will be design to a attain a better visual picture of how
the system will move its data, handle processes and the input and output of the system.

4.2 System design


The system design consists of the overview of the whole system in a systematic
visualized-manner

Front-end Server-side Database

POST Student’s feed


User’s DATABASE
Actions Q/A
CALL

PUT
Home Validate
Interface feed

Discover
GET
GET

Interface Collect &


group
information
Profile
Interface

FIG 3 System Design

20 | P a g e
Having three branches i.e., Front-end, Server-side and Database, data will be moved in
this manner and vice versa. Front end contains what the student pictures, that is buttons
and input field and data fetched from the database. Server side is responsible for
managing and booting the server online. Also responsible for validation of the input
from the user and pass it to the database for storage.

4.3 System inputs


The system input includes feeds from students, that is the question / code or answer to
related question. If the input from is categorized as a question, it must contain the
following fields namely Title (main title of the question), Tags (Tags are the main
programming language used, it will be easy to identify the problem if the programming
language is given), Question body (contains the student point of view and what the
pupils has done so far), and a Code Snippet (an optional feature that allows students to
paste in their pierces of code).

However, if the feed if categorised as an answer to related topic student must fill in the
Answer Body field (contains explanations and solutions to the question) and a Code
Snippet (contains the corrected code)

Question based input

Fill in fields
INPUT INPUT IS
• Title
• Tags PROCESSED
USER • Head
• code

Answer based input

Answer to Question
INPUT
• Body
• Code
USER

FIG 4 Input and Output

21 | P a g e
4.4 System Processes
System processes define the process that will be called when a certain situation arrives.
The server section of the system will handle most of the core processes that will carried
out from authentication, Event-emitting, error handling, POST functions, GET
functions and DELETE functions. The server side should be able to grab information
sent by the user and perform these events and updating the database as well. The
diagram below indicates how the POST functions will handle movement of data.

Launch Grab Validate ()


Information ()
Server DATABASE

POST

USER

Save Grab
Sessions Information

Refresh page will new content

PROCESS
FIG 5 Process

4.5 System Output


System output include information gathered and clustered from the database and
brought forward unto the user’s screen for further processes. The gathering system takes
place on the server side and will deploy this information automatically without having
the user to click buttons for refresh pages. Information includes recently posted question

22 | P a g e
and their answers, list of Students suggested to other students and students second level
information.

Grab Split The USER


Information data

DATABASE
VIEWS
Append to pages

FIG 6 Output

4.6 Architecture Design


The architecture design shows the overview layout of the entire system. Split int
different segment, each segment carries out crucial functions to be called during certain
events. These segments include the front-end, middleware and the Data layer.

23 | P a g e
Front- End Middleware Data-layer

HTML Service Authenticat Data access


Host System
ion service Service

Session Service
GET Graph Database
POST
Service Service

Security Service
GET Validate
Service Service
System Service

Task Error

management handling

FIG 7 Architecture Design

4.7 Database Design


The diagram below shows how design of the database and how every node is related to
others. In graph database entities are developed as nodes and each node has its own
properties different from others. In this case the nodes include Student node, question
node, answer node and the tags node which is essential a group of student nodes that
focus on a particular subject.

Each relationship is indicated by the use of arrows and labelled with a name. For an
instance the Question node relates to the student node through a BELONG_TO
relationship. Which in short means that the student node is the parent to the Question
node. Other relationships for the system include CHATS (allows student to chat with
each other), VISIBLE_TO (allows students to see posted feeds), ASSOCIATED_TO

24 | P a g e
(throughs post to student that focus on a particular module)

:STUDENT :STUDENT
CHATS
~ username ~ username
~ email ~ email
~password ~password

:Answer
~ id
~ body
~code :Question
~ title
~ tag
~body
:Tags
~code
~ student_id

~ main_lang

~password

FIG 8 Database design

25 | P a g e
FIG 9 Presentation on how student nodes, question nodes and answer nodes will ineract

4.8 Conclusion
To conclude the section, the discussed designs will be in use to a greater extent since
they layout the inner workings of the system and how it will move its data.

26 | P a g e
CHAPTER V: IMPLEMENTATION AND TESTING

5.0 Introduction
This chapter talks of how the implementation, testing, security, installation and
maintenance of the platform will be performed.

5.1 Code and construction


During the developing of the system a few programming languages and their respective
libraries were used such as:

➢ Node JS
o Express
o Body-Parser
o Session
o Neo4j Driver
o Multer
➢ JavaScript
➢ EJS
➢ CSS and Bootstrap

The system was divided into two sections i.e., the frontend and the backend. The
primary focus of the backend was handling movement of data from the frontend and
process it into the backend. For instance, the following code snippet showed below
indicates the platform connects to the database and perform CREATE, READ,
UPDATE and DELETE operations.

The backend also contains in built security functions that restrict malicious redirects,
Cross Site Scripts and SQL Injections.

27 | P a g e
BACKEND (NODE JS) CODE SNIPPET

/** CREATE DATABASE CONNECTION*/


function handleConn(){
let driver = neo4j.driver("bolt://localhost:7687",neo4j.auth.basic("neo4j"
,"programmerslivelonger"))
let driver_session =driver.session()
return driver_session
}
*GET FUNCTIONS
*/
app.get("/main-page/",(req,res)=>{
let posts = []
let ascendedPosts = []
let driver_session = handleConn()
driver_session
.run("MATCH (q:QUESTION)-[r:Q_BELONGS_TO]-
>(n:STUDENT) RETURN q,n ORDER BY ID(q)")
.then((results)=>{
results.records.forEach(item=>{
posts.push(item._fields)
})
let i
for(i =posts.length-1; i >= 0; i--){
ascendedPosts.push(posts[i])
}
res.render("main_page.ejs", {
data: ascendedPosts }) })
.catch((err)=>{
if (err){
console.log(err)
}
})
})
app.get("/user/profile/", (req, res)=>{
res.render("userProfile")
})
app.post("/auth/user/",urlenCoded, (req,res)=>{
let std_idno = req.body.std_IDNo
let password = req.body.password
driver_session = handleConn()
let query = `
MATCH (n:STUDENT{
password :"${password}",
std_IDNo :"${std_idno}"
})
RETURN n
`

28 | P a g e
driver_session
.run(query)
.then(results =>{
if(results.records.length > 0){
res.json({
status:true,
id: results.records[0]._fields[0].identity.low
})
driver_session.close()
}
else{
res.json({
status:false
})
}
})
.catch(err=>{
console.log(err)
})
})
app.post("/add/user/",urlenCoded,(req, res)=>{
let fullname = req.body.fullname;
let username = req.body.username;
let std_no = req.body.std_no;
let email = req.body.email;
let std_password = req.body.std_password
let std_IDNo = req.body.std_IDNo
let driver_session =handleConn()
driver_session
.run("CREATE (n:STUDENT {fullname :$fullnameParam, username:$usernameP
aram,std_no: $std_no ,std_IDNo: $std_IDNo,email:$emailParam, password:$passwor
dParam, admin:'false'}) RETURN ID(n) as ID",
{fullnameParam:fullname,
usernameParam:username,
std_no: std_no,
std_IDNo:std_IDNo,
emailParam:email,
passwordParam:std_password}
)
.then((results)=>{
if(results.records[0].length > 0)
{ res.redirect("/")}
driver_session.close()
})
.catch((err)=>{
console.log(err)})

})

29 | P a g e
On the other end the front end focuses on making fetch statements and populating the
pages with the data. Also responsible session handling and user interactions to requests.

For instance the code below show the platform will post an answer to a proposed
question.

BACKEND (JAVASCRIPT) CODE SNIPPET

function openMessageBox(message){
let alertField = document.querySelector(".alert-field")
alertField.querySelector(".message-
box").querySelector("p").textContent = message
alertField.classList.remove("deactive")
}
function handleAnswering(q_id){
window.sessionStorage.setItem("qID", q_id)
loadModel()
}
/*
*POST ANSWER FUNCTION
*/
function postAnswer(){
let answer = document.querySelector("textarea[name='answer']").value;
let code = document .querySelector("textarea[name ='code_snippet']").valu
e;
fetch("/submit/answer/", {
method:"POST",
headers:{
"Accept":"application/json, text/plain, */*",
"Content-type":"application/json"
},
body:JSON.stringify({
answer: answer,
code: code,
studentIDNo: window.sessionStorage.getItem("std_IDNo"),
id: window.sessionStorage.getItem("qID")
})
}).then(data =>{
if(data.status){
let modelBody =document.querySelector(".model-body")
modelBody.querySelector(".btn.btn-primary").disabled = true
closeModel()
openMessageBox("Answer Successfully added")
closeMessageBox()
}
})
}

30 | P a g e
5.2 Testing
Testing phase translates a software design into source code and to ensure that
individually each function is working correctly. A series of tests will be done namely
White Box testing (Primarily focuses on testing the users point of few i.e., clicking
buttons and loading pages with errors), Black-Box testing (Primarily focus on the
actual code and sees if each function is be called correctly), and pressure testing (checks
how the system will behave under pressure and sending too much data at the same time).

5.2.1 Testing Case


Test Case Steps-to Expected Actual Test
execute the Result Results Results(Achieved
test case / not achieved)
Enter url Enter the url Login page to Login in page MET
where appear appeared
the system
is hosted
Fill in the Enter student Validate fields Was MET
fields and Id-no and redirect to redirected to
sign in and password main-page the main page
Click Fill in listed Validate fields Data was MET
on profile and fields and save to saved to the
finish database database
setting up the
account
Enter Fill in the Check for Curse words MET
a question question profanity and where dictated
and filter out filleds curse words
pro
Post a Filled in Validate Information MET
Question fields information was saved and

31 | P a g e
and throw thrown to the
question to the community
community
Answer a Fill in the Pop up Information MET
question fields appears and was saved
answer is
linked to the
question
Add a like to a Click on heart Added like to Like was MET
vote to like answer added to a
answer

5.3 Security
Security is the outer most import aspect of a system and for this case, with the use of
node-JS which has in-built security measure that prevents the system for malicious
attacks such as Cross-Site Scripting, SQL injection and brute-force attacks most of the
security functions will be developed already and ready to be used. For user verification,
the student must first log-in into the system using his/her unique ID (T18*****V) and
password. The system from there will verify the entered fields and if there validate the
student will proceed to the system.

5.4 Maintenance
Minor Changes

If show-stopping bugs, discrepancies, misspellings, etc. are found the most recent
system-approved version of this system, there is a fast track that allows rapid
troubleshooting. These changes need to be brought up to the system developer for
approval. If the he agrees to adopt these changes a new minor release can be created
that keeps its draft status, but is released for implementation.
Major Changes

32 | P a g e
New features, major renaming or other changes that affect the system and its
implementers are supposed to be developed within a working group and to be submitted
to the system developer approval. Unapproved changes from prior minor changes
should be merged into these versions.

5.5 System Evaluation


Evaluation Average Score % of Positive response
Criteria /10
Usability
1. Interface 6 65,6%
2. Presentation 7 66,7%
Easy to
understand
3. Displayed 8 75%
Info is
appropriate
4. The Overall 7 80%
System is
easy to use
5. Support 9 87%
Decision
Making In
Trading
6. Satisfaction 7.4 76%
With the
Overall
System

5.7 System Review


The system was well received by some approached student. It was used to post questions
and get answers and also share information. The results where amazing and hopefully
it can be deployed and be used by TCFL as a community.

5.8 Conclusion and future work


This system is compatible within windows and MacOS operating systems. Other Node
JS libraries have to be installed as well. Libraries like Express, Body-parser, Express-
Session and EJS. The system requires future iterations for it students send and receive

33 | P a g e
answers and question with the use of SMS’s. However to make this improvement the
system must be hosted online and that would increase the cost of implementing that.

REFENCES
1. Laal, M., & Ghodsi, S. M. (2012). Benefits of collaborative learning. Pr

2. Vasilescu, B., Filkov, V. and Serebrenik, A., 2013, September. Stackoverflow


and github: Associations between software development and crowdsourced
knowledge. In 2013 International Conference on Social Computing (pp. 188-
195). IEEE.
3. Miller, J.J., 2013, March. Graph database applications and concepts with Neo4j.
In Proceedings of the southern association for information systems conference,
Atlanta, GA, USA (Vol. 2324, No. 36).

34 | P a g e

You might also like