Professional Documents
Culture Documents
Management
System
For Engineering Society of KDU
2014
Name of the Candidate: S.L.D De Silva
Membership Number: 990403816
Level of Project: Professional Graduate Diploma in IT
Submitted in: August 2014
Declaration
I hereby certify that this documentation is my own work and effort and that it has not been
previously submitted for a Degree or a Diploma in any University. The information that has
been extracted from other sources has been included in the references.
______________________
Signature
______________________
Date
i
BCS Professional Project (Professional Graduate Diploma in IT)
Abstract
General Sir John Kotelawala Defence University (KDU) is a University in Sri Lanka which
offers Undergraduate and Postgraduate Degree programmes in various disciplines for both
military and as well as civil students. Engineering Society (ESKDU) is a student based society
comprised of students who read for degree programmes in engineering disciplines of this
university. Due to the rapid expansion of resources of the university, the student intake has
been exponentially increased, which has resulted in increase of members of the society.
Therefore, managing this vast number of members of different Engineering specializations
has been an issue to the board of officials of the society. Especially things like
communicating a message to a certain target group, finding the opinion of members in
decision making and managing new registrations which have been the major difficulties
faced by officials where all these tasks are done manually.
Therefore to overcome these difficulties and provide a more efficient way for managing
members, a web based solution is the most ideal option that can be selected. A web based
member management system benefits officials by helping them manage their workload
more efficiently and also benefit members by providing a new user experience with the
society and other members of the society. Providing web based profiles to members
increase the enthusiasm of current members which enhances member retention and also
helps attracting new members who would like to experience these facilities. Moreover, it
enhances the connection between officials and members of the society.
The developed solution includes separate sections providing different functionalities for
both members and administrators. The website does not provide ability to make online
payments since transactions handled by the society is limited.
This system is designed using open source web technologies such as PHP, HTML 4 and 5,
JavaScript, CSS 3, MySQL and jQuery libraries. These technologies provide a wide range of
online support and much flexibility when developing the system since these have been tried
and tested by many experts and these are being used in almost all of the websites today.
System Testing is carried out while developing the solution component wise. In addition,
after developing the system, user feedback can be used to make any amendments to the
website. Initial Implementation of the website is done using a free hosting service which
provides support to all the technologies used, and also provides considerable database
space. Also a free domain service is used as the domain of the web site.
ii
BCS Professional Project (Professional Graduate Diploma in IT)
Acknowledgement
This project would not have become successful if it had not been for the support and
guidance I received. This diminutive but thankful word is for their support.
First of all, I would like to thank my project supervisor Mr. Daminda Herath, Lecturer of Esoft
Computer Studies, Sri Lanka for the guidance and support provided throughout the project
and for providing assistance in certain tough situations that had occurred while carrying on
this project and also I would like to thank him for spending his valuable time in guiding me.
My gratitude also goes to Mr.Umesh Tharinda, President of the Engineering Society of KDU
for providing me the opportunity to carry on the project for their society and for providing
any required help and resources when needed.
My father and my mother who have always been supportive are acknowledged with great
respect.
Finally, I could not have put this project together without a little help from some special
friends who provided valuable information, guidance, comments as well as lots of moral
support throughout this project.
iii
BCS Professional Project (Professional Graduate Diploma in IT)
Table of Contents
Declaration ............................................................................................................................................... i
Abstract ................................................................................................................................................... ii
Acknowledgement ................................................................................................................................. iii
Table of Contents ................................................................................................................................... iv
List of Acronyms ..................................................................................................................................... xi
Table of Tables ..................................................................................................................................... xvi
1. Introduction ........................................................................................................................................ 1
1.1
1.2
1.2.1
1.2.2
1.3
1.3.1
1.3.2
1.3.3
1.4
1.4.1
1.4.2
1.4.3
1.5
1.6
Introduction ............................................................................................................................ 7
2.2
Facts gathered......................................................................................................................... 7
2.3
2.4
2.4.1
Members .......................................................................................................................10
2.4.2
Administrators ..............................................................................................................11
2.4.3
Guests ...........................................................................................................................13
2.5
2.5.1
Reliability .....................................................................................................................13
2.5.2
Availability ...................................................................................................................13
iv
Security.........................................................................................................................13
2.5.4
Usability .......................................................................................................................14
2.5.5
Portability ....................................................................................................................14
2.5.6
Flexibility .....................................................................................................................14
2.6
2.6.1
Developer ......................................................................................................................15
2.6.2
2.7
Software specification...........................................................................................................15
2.7.1
Developer ......................................................................................................................15
2.7.2
User ...............................................................................................................................15
2.8
Introduction ..........................................................................................................................17
3.2
3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.4.7
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
3.6
3.7
3.8
3.9
3.9.1
Logical Design........................................................................................................................24
3.10.1
3.10.2
3.11
Introduction ..........................................................................................................................26
4.2
4.3
4.3.1
Introduction ..................................................................................................................29
4.3.2
4.3.3
Guest .............................................................................................................................31
4.3.4
Administrator ................................................................................................................32
4.3.5
Member ........................................................................................................................43
4.4
4.4.1
4.4.2
5. Implementation ................................................................................................................................51
5.1
Introduction ..........................................................................................................................51
5.2
5.2.1
5.2.2
5.3
Implementation Environment...............................................................................................52
5.3.1
Client .............................................................................................................................52
5.3.2
Server ............................................................................................................................52
5.4
5.4.1
PHP ................................................................................................................................53
5.4.2
MySQL ...........................................................................................................................53
5.4.3
5.4.4
Apache ..........................................................................................................................53
5.4.5
XAMPP...........................................................................................................................53
5.5
5.5.1
5.5.2
5.5.4
Hosting ..........................................................................................................................54
5.5.5
Domain..........................................................................................................................55
5.6
Training .................................................................................................................................55
5.7
Configuration ........................................................................................................................55
6. Testing ...............................................................................................................................................56
6.1
Introduction ..........................................................................................................................56
6.2
6.2.1
6.2.2
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.4
Test Cases..............................................................................................................................58
6.4.1
6.4.2
6.4.3
6.4.4
Add Admin.....................................................................................................................60
6.4.5
6.4.6
6.4.7
6.4.8
6.4.9
6.5
Introduction ..........................................................................................................................65
7.2
7.3
7.4
7.4.1
7.4.2
7.4.3
User-friendliness ...........................................................................................................66
7.4.5
7.4.6
7.5
7.5.1
7.5.2
7.5.3
7.5.4
7.6
7.7
Conclusion .............................................................................................................................68
8. Bibliography ......................................................................................................................................69
Appendices............................................................................................................................................71
Appendix A Logical Design .................................................................................................................71
A.1
Admin ....................................................................................................................................83
1.1
1.2
1.3
1.4
1.5
2.
Members ...............................................................................................................................89
2.1
2.2
Administrators ....................................................................................................................104
1.1
1.2
1.3
1.4
1.5
1.6
1.7
2.
Members .............................................................................................................................109
2.1
2.2
Member Payments..........................................................................................................111
2.3
Committee ......................................................................................................................111
Admin ..................................................................................................................................112
1.1
Logging in ........................................................................................................................112
1.2
Posts ................................................................................................................................112
1.3
Polls .................................................................................................................................114
1.4
Merchandise ...................................................................................................................115
1.5
1.6
1.7
Appoint Committee.........................................................................................................119
1.8
1.9
1.10
2.
Member ..............................................................................................................................123
2.1
Notifications ....................................................................................................................123
2.2
Polls .................................................................................................................................124
2.3
2.4
2.5
2.7
2.8
2.9
2.10
2.11
Registration .........................................................................................................................134
2.
3.
4.
5.
x
BCS Professional Project (Professional Graduate Diploma in IT)
List of Acronyms
AJAX - Asynchronous JavaScript and XML
BO Board of Officials
CD ROM - Compact Disc Read Only Memory
CSS - Cascading Style Sheets
DBMS - Database Management Systems
DFD Data Flow Diagram
DSDM Dynamic System Development Methodology
ELH Entity Life Histories
ER - Entity Relationship
ESKDU Engineering Society Kotelawala Defence University
GUI - Graphical User Interface
HTML - Hypertext Mark-up Language
KDU - Kotelawala Defence University
MD5 Message Digest algorithm
PDF - Portable Document Format
PHP - Hypertext Pre-processor
PMBOK Project Management Body of Knowledge
RAD - Rapid Application Development
SDLC System Development Life Cycle
SHA - Secure Hash Algorithm
SSADM - Structured Systems Analysis and Design Methodology
SQL - Structured Query Language
URL - Uniform Resource Locator
*In this document, the word admin means administrator and the word admins mean
administrators.
xi
BCS Professional Project (Professional Graduate Diploma in IT)
Table of Figures
Figure 1.6.1 Client Server Architecture 1 ............................................................................... 5
Figure 1.6.2- Client Server Architecture 2 ................................................................................ 6
Figure 3.2.1 System Development Methodologies ............................................................. 17
Figure 3.4.1 SSADM .............................................................................................................. 18
Figure 3.10.1.1 Context Level DFD ....................................................................................... 24
Figure 3.10.2.1 ER Diagram .................................................................................................. 25
Figure 4.2.1 Admin Table Structure ..................................................................................... 27
Figure 4.2.2 - ER Diagram with Attributes .............................................................................. 28
Figure 4.3.1 Header .............................................................................................................. 29
Figure 4.3.2 - Footer................................................................................................................ 30
Figure 4.3.3 Home Page ....................................................................................................... 30
Figure 4.3.4 Member Registration ....................................................................................... 31
Figure 4.3.4 Administrator Login ......................................................................................... 32
Figure 4.3.5 Dashboard of Category 1 Admin ....................................................................... 33
Figure 4.3.6 Dashboard of Category 2 Admin ...................................................................... 34
Figure 4.3.7 - Dashboard of Category 3 Admin....................................................................... 35
Figure 4.3.8 Admin News View ............................................................................................ 36
Figure 4.3.9 Event View ....................................................................................................... 37
Figure 4.3.10 View Polls ....................................................................................................... 38
Figure 4.3.11 Admin Merchandise View .............................................................................. 39
Figure 4.3.12 Accounts Home .............................................................................................. 40
Figure 4.3.13 View / Edit Admin Profile ............................................................................... 41
Figure 4.3.14 Member search .............................................................................................. 41
Figure 4.3.15 Accept new members .................................................................................... 42
Figure 4.3.16 Member Login ................................................................................................ 43
Figure 4.3.17 Members Area ............................................................................................... 44
Figure 4.3.18 View Events/News ......................................................................................... 45
Figure 4.3.19 View Polls ....................................................................................................... 46
Figure 4.3.20 View Merchandise for Member ..................................................................... 47
Figure 4.3.21 GPA Home ...................................................................................................... 48
Figure 4.3.22 GPA Dashboard .............................................................................................. 48
Figure 4.3.23 Contact Us ...................................................................................................... 49
Figure 6.3.1 V-model of testing levels ................................................................................. 57
Figure A.1.1 Members Level 1 DFD ...................................................................................... 71
Figure A.1.2 Level 1 DFD for Administrators........................................................................ 72
Figure A.1.3 Level 1 DFD for Guests ..................................................................................... 73
Figure A.2.1 Use case diagram for Guests ........................................................................... 73
xii
BCS Professional Project (Professional Graduate Diploma in IT)
xv
BCS Professional Project (Professional Graduate Diploma in IT)
Table of Tables
Table 2.1 - Fact Finding Techniques .......................................................................................... 9
Table 2.2 Access Control Matrix for administrators ............................................................ 12
Table 3.1 Types of Hosting ................................................................................................... 23
Table 5.1 Client Implementation Specifications .................................................................. 52
Table 5.2 Server Implementation Specifications ................................................................. 52
Table 6.1 Admin Login test cases ......................................................................................... 58
Table 6.2 Add merchandise test cases ................................................................................. 59
Table 6.3 Search Members test cases.................................................................................. 60
Table 6.4 Add admin test cases ........................................................................................... 60
Table 6.5 Edit Admin profile test cases ................................................................................ 61
Table 6.6 Calculate GPA test cases ...................................................................................... 62
Table 6.7 Vote and comment for polls test cases ................................................................ 62
Table 6.8 Add new received payment test cases................................................................. 63
Table 6.9 Member Registration test cases ........................................................................... 64
Table C.1 Admin Login........................................................................................................ 103
Table C.2 Member Login .................................................................................................... 103
xvi
BCS Professional Project (Professional Graduate Diploma in IT)
1. Introduction
1.1 Requirement for the new system
Engineering Society of KDU has experienced an exponential growth in new member
registrations and handling a large volume of data related to those members has
been a concern for the BO of ESKDU. Also, retention of current members and
popularizing the society among engineering students has been some of the recent
objectives of the society. In order to achieve these objectives a new website was
suggested as the best approach since it gives flexibility, mobility and also
connectivity between members and officials. This project would help to minimize
most of those difficulties faced by officials as well as members and would be a
prominent factor in the development of the society which would benefit all
members as well as non-members of this society who use this web site.
Current Operations
The society currently has a manual system for all processes and data is
recorded mostly manually on record books and spreadsheets.
1.2.1.1
1.2.1.2
1.2.1.3
1.2.1.4
1
BCS Professional Project
1.2.2
1.2.2.1
1.2.2.2
1.2.2.3
Not being able to get the opinions of members when making certain
important decisions.
1.2.2.4
1.2.2.5
1.2.2.6
Available options
1.3.1.1
1.3.1.2
1.3.1.3
Web based solution which provides interaction for both members and
officials.
1.3.1.4
1.3.2
Selected option
A web based member management system was selected as the most optimum
solution for this scenario since it benefits both members as well as officials along
with flexibility and mobility.
2
BCS Professional Project (Professional Graduate Diploma in IT)
1.3.3
Development Environment
It was decided that the system was to be designed using Apache Server, PHP and
MySQL. Also to configure and install PHP and Apache on the development
machine, XAMPP was used. Other tools that were required were -
1.3.3.1
1.3.3.2
1.3.3.3
1.3.3.4
Project Goal
To provide a web based solution for this society so that officials could access
the system from any location, build interactions with members and improve
decision making and management process. Also it should enhance member
satisfaction and experience by providing web based services which would
make them participate more actively in society activities.
1.4.2
1.4.2.1
1.4.2.2
Member Management: The web site will provide online facilities to apply
for membership. It will provide an efficient way for administrators to
reach members and build relationships. This will include searching
facilities and also ways to monitor member activities.
1.4.2.3
1.4.2.4
3
BCS Professional Project (Professional Graduate Diploma in IT)
news and details about competitions and also make sure only targeted
groups receive the news.
1.4.2.5
1.4.2.6
1.4.3
Expected advantages
1.4.3.1
1.4.3.2
1.4.3.3
1.4.3.4
1.4.3.5
1.4.3.6
1.4.3.7
Selective information sharing which makes sure the right person gets the
right information on right time.
1.4.3.8
1.4.3.9
1.4.3.10
4
BCS Professional Project (Professional Graduate Diploma in IT)
This architecture was considered as 2 tiers earlier, but now is mostly considered
having 3 tiers where the server is considered as logic layer and database is
considered as data layer along with the client being considered as presentation
layer.
5
BCS Professional Project (Professional Graduate Diploma in IT)
Limited bandwidth of the free hosting solution that could affect the growth of
visitors.
1.6.2
Web site will be hosted on one server which could result in website
unavailability due to server breakdowns.
1.6.3
6
BCS Professional Project (Professional Graduate Diploma in IT)
2. Requirement Specification
2.1 Introduction
Requirement specification focuses on extracting and discovering requirements of the
client for whom the new system is developed. For this, several standard and nonconventional fact collection methodologies were used.
Society Structure Board of officials consists of final year students and the
organizing committee consists of 3rd year students. Each year a new board of
officials is appointed. Usually the board of officials is consisted of President,
Vice president, Secretary, Assistant Secretary, Treasurer, Assistant Treasurer,
Organizers, Editors and Coordinators.
2.2.2
2.2.3
2.2.4
2.2.5
7
BCS Professional Project (Professional Graduate Diploma in IT)
Observation
Document
Reading
Background
Reading
Description
Source/s of
information
Interviewing means meeting a person who is President
involved with the current system to get certain Treasurer
information by asking questions which are Editor
structured or unstructured. For interviewing, only
the most important few people are used since it
consumes time.
But it is one of the best ways to gather information
since the interviewer can ask cross questions to
clarify vague information and interviewee can
freely express his/her requirement.
Observation is usually done by visiting the Weekly meetings
organization and observing operations and held in the mini
activities to get an understanding of how actually auditorium.
things are being done.
But for this organization, since there is no exact
physical location, observation was only done by
visiting one of the meetings of the society
conducted by officials to interact with members.
Existing documents within the organization can be Accounts records
observed and analyzed to get an understanding on Spreadsheets
how currently the records are being kept.
Formal documents
For this project, this technique was used to get
information about the member records, financial
records and other administrative records.
This involves reading documents related to this KDU Prospectus
subject area.
Student Manual
For this project several documents were needed to
collect information and especially the KDU
Prospectus was an important document in finding
university regulations and GPA structure.
8
Internet
research
9
BCS Professional Project (Professional Graduate Diploma in IT)
2.4.1
Members
Members are categorized into 5 levels. Levels 1-4 are assigned to members
belonging to academic years of the university. For example, a second year
student belongs to level 2 and so on. Level 5 members are those who have
graduated from the university.
2.4.1.1
2.4.1.2
2.4.1.3
View polls posted by administrators, vote for those polls and comment on
those polls to inform the management about their point of view.
2.4.1.4
View News and Events which are relevant to that specific member type.
2.4.1.5
2.4.1.6
2.4.1.6.1
2.4.1.6.2
2.4.1.6.3
Plan GPA for next semester to reach a certain targeted total GPA
at the end of that semester.
2.4.1.6.4
Record and save grades scored for each subject in each semester.
2.4.1.6.5
2.4.1.7
View and edit member profile details along with the change password
option.
10
BCS Professional Project (Professional Graduate Diploma in IT)
2.4.2
Administrators
There will be 3 categories of administrators who control information of the
website. All 3 administrators will have separate types of duties and will have
access according to their category.
2.4.2.1
2.4.2.2
2.4.2.3
11
BCS Professional Project (Professional Graduate Diploma in IT)
Function
Admin Category
3
1
2
12
BCS Professional Project (Professional Graduate Diploma in IT)
2.4.3
Guests
2.4.3.1
2.4.3.2
2.4.3.3
2.4.3.4
Use GPA calculator tool without the option of using the member
dashboard privileges.
2.5.1
Reliability
2.5.1.1
Since the hosting is done on a 3rd party server, server failures will be
handled by them, therefore the system down time will be reduced and
Mean Time to repair (MTTR) will be less.
2.5.1.2
Mean Time between Failures (MTBF) will be unpredictable but since the
system is not supposed to have unwanted amount of traffic and also 3rd
party servers are maintained by professionals, MTBF will be high.
2.5.2
Availability
2.5.2.1
2.5.3
The system will be available 24x7 and accessible from anywhere and will
be running perfectly while the server is up and running.
Security
2.5.3.1
The System is a standard web application which uses tried and tested
server side scripting technology for accessing databases and for server
side processing.
2.5.3.2
All user passwords will be salted and hashed for improved security.
2.5.3.3
2.5.3.4
Data will be validated before entering into the database to avoid any
complications and data type mismatches.
2.5.3.5
2.5.4
Usability
2.5.4.1
The system will be easy to get used to and has an easy navigation system
to move between sections.
2.5.4.2
The user interface will have a flat metro like interface, making it easier to
read and navigate.
2.5.4.3
2.5.5
Portability
2.5.5.1
2.5.5.2
2.5.5.3
2.5.6
Flexibility
2.5.6.1
2.5.6.2
14
BCS Professional Project (Professional Graduate Diploma in IT)
Developer
2.6.1.1
2.6.1.2
2.6.1.3
RAM 4GB
2.6.1.4
Internet connection
2.6.2
2.6.2.1
2.6.2.2
1GB RAM
2.6.2.3
Internet connection
2.6.2.4
Developer
2.7.1.1
2.7.1.2
PHP 5 or higher
2.7.1.3
2.7.1.4
Adobe Dreamweaver CC
2.7.1.5
2.7.1.6
2.7.1.7
2.7.1.8
2.7.2
2.7.2.1
User
Web Browser with HTML5 and CSS 3 compatibility and JavaScript enabled
15
BCS Professional Project (Professional Graduate Diploma in IT)
16
BCS Professional Project (Professional Graduate Diploma in IT)
3. System Design
3.1 Introduction
System Design is the process of defining the components, architecture and data,
which are the elements of a system needed to satisfy the requirements specified.
SDLC
Agile
Waterfall
Scrum
Spiral
Extreme Programming
Incremental
Prototyping
DSDM
This project has clearly set requirements which are not supposed to change
much during the course of the development.
3.3.2
3.3.3
3.3.4
17
BCS Professional Project (Professional Graduate Diploma in IT)
Stage 0
Stage 5
Stage 6
Feasibility Study
Logical Design
Physical design
Stage 1
Stage 4
Investigation of the
current environment
Technical Systems
options
Stage 2
Stage 3
Business systems
options
Requirements
specification
3.4.1
3.4.2
3.4.3
3.4.4
3.4.4.1
3.4.4.2
3.4.4.3
3.4.5
3.4.6
3.4.7
19
BCS Professional Project (Professional Graduate Diploma in IT)
Logical data are transformed into databases and logical designs converted into
user interfaces which interact with databases.
Outcome Complete physical design
Technical Feasibility
Knowledge The system will be built using PHP, HTML, CSS, JavaScript and
other tried and tested web based technologies which will have plenty of
online support and resources due to their extensive usage.
Hardware Since the system is not extremely complex, no high performance
hardware is required for development. Also for the clients, no extra hardware
is required since the web site is hosted in a 3 rd party host where the client
does not need to provide any infrastructure.
Software A licensed copy of Adobe Dreamweaver will be required. Other
than that XAMPP, MySQL ad MySQL workbench is freely available software
which will not be a problem in downloading and installing.
3.5.2
Operational Feasibility
Operational feasibility looks into the aspect of how well users can interact
with the system. Since this is a web based system which uses similar
conventions as same as a normal web application, it will not be difficult to get
used to and work with the website.
The user interface will be a simple, easy to understand one with a good
navigation system which will improve operational feasibility. Also since there
are more than 25 members in the Board of Officials and organizing
committee, there will be enough personnel to act as administrators of the
system.
20
BCS Professional Project (Professional Graduate Diploma in IT)
3.5.3
Schedule Feasibility
This looks at whether the project could be delivered within the specified time
period. When considering this project, since the scope is defined and limited
to a specific area, it could be delivered within the duration of 16-18 weeks.
Also implementation is only a matter of transferring files and configuring the
database connections. Therefore, very less time will be spent on
implementation. More time could be spent on system analyzing and design.
Even though this is an individual project, this project seems schedule feasible
during the agreed time limit.
3.5.4
Economic Feasibility
Economic feasibility looks at the financial aspect of the project, whether it is
financially viable for the client as well as for the developer.
This project uses open source technologies like PHP and even free open
source tools like XAMPP and MySQL workbench. Clients do not need new
hardware or software since they only need a normal computer with a HTML5
supporting web browser. Moreover, since initially hosting is done on a free
web host, the client will not need to spend on buying a domain and getting
web hosting services. But later when the client needs to move on to a paid
web host, the client will have to pay some amount but will not be an
extravagant amount since many web hosts provide cheap hosting plans
nowadays.
3.5.5
Legal Feasibility
Legal feasibility looks at the legal constraints that need to be considered when
developing the web site. The main legal concern that can be focused here is
the data protection act, which will be given adequate focus when developing
the web site. Additionally, design aspects will be focused on not infringing
intellectual property rights such as designs and logos. Moreover, internal
information of the society will not be disclosed by the developer to 3 rd parties
without the permission and consent of the Board of Officials. Therefore,
legally this project does not have many serious restrictions other than the
above mentioned factors which would make it legally feasible as well.
21
BCS Professional Project (Professional Graduate Diploma in IT)
Internal hosting
Hosting the web site within the organizational premises using their own
hardware, software and employees.
3.9.2
External Hosting
Hosting the web site on a third party server. (4)
3.9.2.1
Free Hosting
3.9.2.2
Shared Hosting
3.9.2.3
Dedicated hosting
3.9.2.4
Collocated hosting
22
BCS Professional Project (Professional Graduate Diploma in IT)
Hosting Type
Hardware needed
Cost
Hosting within
client premises
using a clients
own server.
1
2
3
4
Comparatively
high since
purchasing
hardware and
maintenance is
of high cost
Free hosting
No extra hardware
needed by client.
Extremely low
cost
Shared hosting
No hardware needed
by the client since site
is placed on a shared
server.
Relatively low
cost
Dedicated
hosting
Collocated
hosting
Need to purchase a
server
Extremely high
cost
External
Internal
Server
Software
Maintenance Staff
Internet
connection with a
good bandwidth
Reliability and
Maintainability
High reliability
High data security
1 Less reliability
2 Use of
advertisements
3 Limited security
and technical
support
1 Resources such
as bandwidth is
shared
2 Better technical
support and
security
Extremely reliable
and powerful
performance
Client has full
control of the
server
23
BCS Professional Project (Professional Graduate Diploma in IT)
24
BCS Professional Project (Professional Graduate Diploma in IT)
3.10.2
25
BCS Professional Project (Professional Graduate Diploma in IT)
4 . Physical Design
4.1 Introduction
Physical design phase is where Logical design is implemented into databases with
table relations and user interfaces which are linked to each other.
26
BCS Professional Project (Professional Graduate Diploma in IT)
27
BCS Professional Project (Professional Graduate Diploma in IT)
28
BCS Professional Project (Professional Graduate Diploma in IT)
Introduction
User interface is one of the most important components of a system because it is the
tool used by users to interact with the system and transfer information. Since many
users of different perceptions interact with the system, designers should be careful
to design user interfaces in such a way that it satisfies user requirements.
In industry standards, ISO 9241 describes the standards that should be followed in
designing human computer interfaces. The main highlight of this standard is the
usability of a system which is the measure used to analyze the effectiveness of user
interface.
In this system there are 3 basic types of users: Administrators, members and guests.
The user interface has been designed in such a way that it caters all 3 types of users
and directs them into separate sections so that user specific functions could be
accessed with more clarity.
The theme that has been used for this web site is a metro like flat looking theme
with a range of contrasting colours and with clear sans serif fonts (mostly PT Sans
and Arial).
4.3.2
4.3.2.1
Home Page
Header
Header style and theme will be the same for all 3 types of users. For
administrators and members, their name will be displayed on the header
after logging in. Navigation menu bar used in this header is a simple and
responsive menu bar adapted from one of the designs of
www.cssmenumaker.com (5)
29
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.2.2
Footer
The footer that has been used is same and consistent for all the web pages of
the website.
30
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.3
Guest
Guests will view the web site as a normal informative website which provides
information about the society and membership. In addition, guests have the
facility of using the GPA calculator without the result saving facility.
A guest can apply for membership online by submitting this registration form
online. Registrations will be manually processed by administrators after the
registration fee is paid.
31
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4
4.3.4.1
Administrator
Login Page
4.3.4.2
Administrator Area
There are 3 types of administrators in this system and for each type of
admin; the content shown in the home page will be different. The header
will show only pages accessible to that specific type of admin. Admin
accessibility is shown in Table 2.2.
32
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.2.1
Category 1
33
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.2.2
Category 2
34
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.2.3
Category 3
35
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.3
36
BCS Professional Project (Professional Graduate Diploma in IT)
37
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.4
Polls
All administrators can view polls, votes posted by members and also
comments provided by members regarding these polls and decisions which
can be used in decision making. Category 1 and 2 members can edit polls
posted by them and can change the status of the poll to accepted,
cancelled, declined or pending; so that members can see the progress of the
decision made.
38
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.5
Merchandise
Administrators can view all merchandise such as T-shirts, mugs and gifts
which are to be sold by the society. Since Category 2 (financial)
administrators are those who are responsible for deciding prices of these
items, they are provided with the authority to add and make changes to
merchandise items.
39
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.6
Financial
Except Category 3 administrators, other administrators can view the
financial status of the society. Since the society has limited financial
transactions to be handled, a simple income/expenditure system has been
developed which could be used to record income received by members and
other parties along with the expenses incurred by the society.
40
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.7
View/Edit Profile
Administrators can view and make changes to their profiles including
password change.
4.3.4.8
Search Members
Administrators can search for members according to their names, level,
stream and even e-mail. Moreover the search page displays an overall
member distribution of the society.
41
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.4.9
42
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.5
4.3.5.1
Member
Login Page
Similar to administrators, members will have a separate login to enter the
members area.
4.3.5.2
Members Area
Members will be directed to the members area after logging in and
members would be able to view a summary of all the important information
in a dashboard type view which gives an overall idea about trending polls,
newly joined members, news, events and merchandise.
Theme will be consistent as in the admininstrator area, and the navigation
bar is the same as that included in the administrator area.
43
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.5.3
44
BCS Professional Project (Professional Graduate Diploma in IT)
section which displays the list of News and Events (Refer to Appendix B
section 2.1) (6)
45
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.5.4
Polls
Members are able to view trending polls posted by administrators regarding
administrative decisions and other new ideas. Members can provide their
comments and views regarding these decisions along with their vote. These
comments will be posted publicly so that both administrators and other
members will be able to view. But anonymity of the votes will be retained
and only the number of good/bad votes will be visible for both
administrators and members as vote results.
46
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.5.5
Merchandise
Members are provided with the ability to view merchandise and souvenirs
available for sale. Members can view items in reverse chronological order
and place orders on items that are available. Online payments have not
been integrated with this system; therefore members will have to pay for
the items later to one of the officials in charge of merchandise and purchase
the item. This section has been designed similar to the way eBay displays
item lists to make it more familiar to the users.
4.3.5.6
4.3.5.6.1
GPA Home
This page gives an overview about the GPA calculator tool and has
been mainly targeted towards new users.
47
BCS Professional Project (Professional Graduate Diploma in IT)
Dashboard
Dashboard provides a quick overview of the academic track record of
the member in a more graphical and innovative way. The member is
able to get an overall understanding of his/her current academic
situation by looking at the current net GPA, credit completion and
eligible class which will be displayed on the dashboard.
48
BCS Professional Project (Professional Graduate Diploma in IT)
4.3.5.7
Contact Us
This is accessible by any person who wants to contact the society. It has
been integrated with a simple human verification section to avoid spam and
email injection. (8)
49
BCS Professional Project (Professional Graduate Diploma in IT)
Password security
All user passwords are salted and hashed before saving in the database for
additional security. (9)
Salting adding additional characters to increase the length of a password
Hashing converting the password string into a long series of characters
using a hashing algorithm.
In this system, a simple procedure has been applied for hashing and salting
the password. First the password entered by the user is hashed using MD5
and SHA algorithms and the salt is prepared.
<?php $salt = sha1(md5($password)); ?>
This salt is added to the password and then the whole string is again hashed
<?php $pass = md5($salt.$password); ?>
(Refer Appendix B section 1.1.2)
4.4.2
Access restriction
Every page of this system has its own access restriction and this is mainly
done by checking for sessions. Administrators cannot access admin area or
any page accessible to them unless they are logged in and similarly even
members cannot access permitted areas without logging in. Only certain
parts of the GPA calculator and certain areas of the home page are accessible
for users who are not logged in as Members or as Administrators.
50
BCS Professional Project (Professional Graduate Diploma in IT)
5. Implementation
5.1 Introduction
This phase is where the system is transformed from the concept stage into the
reality. This stage focuses more on practical issues that arise while creating the
system in the real environment with changing conditions. The main objective of this
phase is to successfully deploying the system in the environment and starting
operation. At the end of this phase the end product or the resulted system is
compared with the initial requirements to analyze the success of the project.
5.2.2
5.2.2.1
5.2.2.1.1
MySQL workbench 6
5.2.2.1.2
5.2.2.1.3
Adobe Dreamweaver CC
5.2.2.1.4
5.2.2.1.5
5.2.2.1.6
5.2.2.1.7
5.2.2.1.8
phpMyAdmin
5.2.2.1.9
Filezilla 3.9.0.3
5.2.2.2
Packages
5.2.2.2.1
XAMPP 1.8.1
51
BCS Professional Project (Professional Graduate Diploma in IT)
5.2.2.3
5.2.2.3.1
HTML 4/5
5.2.2.3.2
CSS 2/3
5.2.2.3.3
JavaScript
5.2.2.3.4
php 5.4.7
5.2.2.3.5
MySQL
Client
Hardware
Software
Windows or Linux OS
1GB RAM
Network connection with internet
access
Table 5.1 Client Implementation Specifications
5.3.2
Server
Hardware
Software
5 GB Database space
Windows or Linux OS
Apache 2.4.10
2GB+ RAM
MySQL server
52
BCS Professional Project (Professional Graduate Diploma in IT)
PHP
PHP is open source and therefore there are no costly licensing issues.
Learning curve of PHP too is much efficient due to this reason and has more
online support than other options such ASP.net. Moreover, finding a hosting
solution is much easier with PHP since it works on almost any server.
5.4.2
MySQL
MySQL is flexible with Windows and Linux platforms and is again open source
as PHP. Since extremely advanced features are not required for this project,
MySQL is the best choice, which has plenty of community support and
tutorials. Moreover, MySQL is very much compatible with PHP which would
make in server side scripting more efficient.
5.4.3
MySQL Workbench
MySQL workbench was mainly used to develop the logical design of the
system which is the database design. Its graphical model tool was used to
design tables and entities with relations among them. This graphical model
(Figure 4.2.2) was then reverse engineered to produce the MySQL database
which was much efficient and easier than creating tables one by one
manually and creating all logical connections.
5.4.4
Apache
The Apache web server was selected as the web server for implementing this
system because PHP and MySQL were used to develop the system. Other
than that Apache is free and has been the most popular web server for a long
time which is one of the most reliable options.
5.4.5
XAMPP
XAMPP is a free, open source package which reduces the effort of installing
Apache, PHP, MySQL and phpMyAdmin since all these are installed and
configured automatically when XAMPP is installed.
53
BCS Professional Project (Professional Graduate Diploma in IT)
5.5.2
5.5.3
5.5.4
Hosting
After making changes requested, the web site needed to be hosted on a 3 rd
party server since the client was not capable of hosting in-house. Since this
society is not a profit oriented organization, it was suggested to be hosted on
a free webhost when selecting technical systems options (section 3.9.2.1).
Several candidate options were looked into when selecting the free host
000webhost www.000webhost.com
Host-ed - http://www.host-ed.net/
Freehostia - http://www.freehostia.com/index2.html
Out of these 000webhost was selected as the host since it provides 100GB
bandwidth monthly along with unrestricted MySQL database space with PHP
compatibility. Moreover it provides email facilities and has cPanel
functionality.
Refer Appendix F to see the hosting process.
54
BCS Professional Project (Professional Graduate Diploma in IT)
Software specifications
PHP 5.2
MySQL 5.1
cPanel
5.5.5 Domain
After hosting, a free domain was needed to be selected for the site. For this
purpose a free domain was obtained from www.dot.tk.
The domain of the hosted solution is www.eskdu.tk
5.6 Training
Officials were given a briefing about the main functionalities of the website when the
website was implemented on their machines before hosting. Since the website uses
normal website functionalities with normal conventions, no special training was
required. Officials will follow a train-the-trainer system so that future administrators
will be trained by their predecessors on maintaining the website which would help to
maintain standards of the society.
5.7 Configuration
5.7.1
Copy all the contents in the folder MMS into the root of the server.
5.7.2
5.7.3
Create a database named mms and import the sql script to the server to
create tables.
5.7.4
5.7.5
6. Testing
6.1 Introduction
This is the phase where a system is checked as to what extent it serves the purpose
and how much it is fit for the purpose. For any product, testing is an important phase
since it ensures the quality, reliability and integrity of the system.
6.2.2
56
BCS Professional Project (Professional Graduate Diploma in IT)
6.3.1
Unit Testing
Unit testing verifies the functionality of isolated software components
separately.
6.3.2
Integration Testing
Integration testing focusses on errors and defects in links and connections
between components of a system.
6.3.3
System Testing
This concentrates on the behaviour of the system as a whole and tests the
whole system when all components are integrated together
6.3.4
Acceptance Testing
This is focussed on checking whether the system satisfies requirements
adequately and check whether the system is ready for deployment and
commencing operations.
57
BCS Professional Project (Professional Graduate Diploma in IT)
6.4.1
Admin Login
No
Test Case
Expected Output
Actual Output
Status
1.1
Provide valid
username and
password but
inactive account
1.2
Provide valid
username but
invalid password
Displayed -Invalid
Username or
Password.
Pass
1.3
Provide invalid
username but valid
password
Displayed -Invalid
Username or
Password.
Pass
1.4
Empty Username or
password
Display HTML5
validation error
messages
Pass
1.5
Provide valid
username and
password
Admin should be
directed to
administrators area
58
BCS Professional Project (Professional Graduate Diploma in IT)
6.4.2
Add merchandise
Test Case
Expected Output
Actual Output
Status
2.1
Display HTML5
validation error
messages
Pass
2.2
Provide an invalid
Display error messageimage. Eg: A .psd file Invalid file type. Make
sure you upload only
gif,jpg,jpeg,png,x-png
or pjpeg
Pass
2.3
Provide an image
size greater than
500Kb
Error message
displayed.
Pass
2.4
Add text to
merchandise table
without tags.
Pass
2.5
Success message
displayed. Record
added succesfully with
the image.
Pass
59
BCS Professional Project (Professional Graduate Diploma in IT)
6.4.3
Search Members
Test Case
Expected Output
Actual Output
Status
3.1
Pass
3.2
Displayed members
having related details.
Pass
6.4.4
Add Admin
Test Case
Expected Output
Actual Output
Status
4.1
Display HTML5
validation error
messages
Pass
4.2
Provide an email
address that has
already been
registered
Display error
Displayed error An
error has occurred
when submitting the
form. An admin has
already been
registered in the
system having similar
details.
Pass
4.3
Display success
message
Displayed success
message with the
autogenerated
password.
Pass
60
BCS Professional Project (Professional Graduate Diploma in IT)
6.4.5
Test Case
Expected Output
Actual Output
Status
5.1
Provide an email
address that has
already been
registered
Display error
Pass
5.2
Provide a current
password with
length less than 6
characters
Display error
5.3
Provide invalid
current password
Display error
5.4
Display error
Pass
5.3
Pass
6.4.6
No
Test Case
Expected Output
Actual Output
6.1
Provide a text as
number of subjects
Display error
6.2
6.3
Displayed error
Pass
Subject Name cant be
empty and focussed
Display error
Status
61
BCS Professional Project (Professional Graduate Diploma in IT)
on that field.
6.4
Enter an invalid
credit value
Display Error
No error was
displayed. GPA was
indicated as NaN.
Fail
Display error
Pass
Eg: 5E
6.5
Press the button Add this to current GPA and calculate the final GPA
6.6
Enter an invalid
current GPA
Display error
Eg : 4.6 , 4.B
Pass
6.4.7
No
Test Case
7.1
7.2
Expected Output
Actual Output
Status
Data inserted to
database.
Pass
Remove comment
details and add vote
Pass
62
BCS Professional Project (Professional Graduate Diploma in IT)
6.4.8
No
Test Case
Expected Output
Actual Output
Status
8.1
Display nothing
No result was
displayed when
searched for a non
existing record
Pass
8.2
Enter an invalid
payment amount
Display HTML5
validation error
Pass
8.3
Display success
message
Pass
6.4.9
No
Test Case
Expected Output
Actual Output
Status
9.1
Display HTML5
validation error
Pass
9.2
Provide a
Registration ID that
already exists.
Display error
Displayed error An
error has occurred
when submitting the
form. A user has
already been
registered in the
system having same
details.
Pass
9.3
Provide an email
Display error
that already exists in
the members table.
Displayed error An
error has occurred
when submitting the
form. A user has
already been
registered in the
system having same
details.
Pass
9.4
Provide different
Display error
password for retype
password field.
Error displayed
Passwords dont
match.
Pass
63
BCS Professional Project (Professional Graduate Diploma in IT)
9.5
Provide invalid
contact number
Display error
Pass
9.6
Display success
message
Pass
64
BCS Professional Project (Professional Graduate Diploma in IT)
7. Critical Appraisal
7.1 Introduction
This section focuses on reviewing the system that has been developed and evaluate
the success of the project to find out how well it addresses the requirements of the
client. Also this section focuses on strengths and weaknesses of the developed
system.
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
Researching and report writing skills were improved along with the abilities
of self-studying skills.
65
BCS Professional Project (Professional Graduate Diploma in IT)
Platform independence
Since the system has been developed using PHP and MySQL databases, it can
be setup on almost any platform and when suing the web site, any platform
which supports standard web technologies can be used.
7.4.2
7.4.3
7.4.4
User-friendliness
The system is made to be user-friendly by integrating standard web
functionalities which are familiar to anyone, which makes it easy to learn and
get used to which saves training effort and saves time. (11)
7.4.5
7.4.6
Bandwidth limitation
Since the system is hosted on a 3rd party server which provides limited
bandwidth, there may be a potential reduction in performance of the system
when traffic increases.
7.5.2
7.5.3
Non-mobile optimized
The system has not been designed in such a way that it supports all mobile
devices. There may be issues related to graphics and viewing of the website
when using different mobile devices.
7.5.4
7.6.2
7.6.3
Hosting the system on a paid web host which provides more bandwidth and
security options to increase reliability and availability.
67
BCS Professional Project (Professional Graduate Diploma in IT)
7.7 Conclusion
This system has been developed for a student organization in order to transform
their manual processes into more efficient and innovative processes. There are
certain areas in which the system could have been improved such as integrating
social media connectivity. Other than that the system has been instrumental in
automating the registration process, decision making process, process of
communicating with members and promoting the organization. The project has been
completed within the provided time period to address the highest priority
requirements and also some other additional functionality, which were not initially
requested have been added to improve the user experience. Considering the limited
experience of the developer and the limited resources that were used in building this
solution, it seems that this project has achieved its purpose of automating most of
the manual processes of the Engineering Society of KDU and also providing a new
experience to the members.
68
BCS Professional Project (Professional Graduate Diploma in IT)
8. Bibliography
1. Chung, L. Non Functional Requirements. Dallas : s.n.
2. 830-1993 - IEEE Recommended Practice for Software Requirements Specifications. New York : IEEE
Computer Soceity, 1994. 1-55937-395-4.
3. Guide to the Software Engineering Body of Knowledge (SWEBOK). [Online] [Cited: August 6, 2014.]
http://www.computer.org/portal/web/swebok/html/ch5#Ref2.
4. Types of web hosting services. website. [Online] [Cited: August 2, 2014.]
https://www.website.com/beginnerguide/webhosting/6/2/types-of-web-hosting-services.ws.
5. Animated responsive dropdown menu. CSS Menu Maker. [Online] [Cited: August 02, 2014.]
http://cssmenumaker.com/menu/animated-responsive-drop-down-menu.
6. Thamada, S. Twitter Style Load More Results with jQuery and Ajax. 9lessons. [Online] 2009. [Cited:
July 15, 2014.] http://www.9lessons.info/2009/12/twitter-style-load-more-results-with.html.
7. Student Prospectus 2013-2015. s.l. : Kotelawala Defence University, 2013.
8. Greig, S. How to Create a Contact Form using HTML5, CSS3 and PHP. [Online] [Cited: 8 12, 2014.]
http://tangledindesign.com/how-to-create-a-contact-form-using-html5-css3-and-php/.
9. Salted Password Hashing Doing it right. Crack Station. [Online] [Cited: June 22, 2014.]
https://crackstation.net/hashing-security.htm.
10. Salonen, V. Automatic Portability Testing. [Online] 2002. [Cited: August 6, 2014.]
http://villesalonen.fi/2012/automatic-portability-testing/.
11. 10 ADVANTAGES OF CHOOSING PHP WEB DEVELOPMENT. [Online] September 30, 2014. [Cited:
June 2, 2014.] http://www.sakshay.in/blog/10-advantages-of-choosing-php-web-development/.
12. Php random string generator. Stackoverflow. [Online] [Cited: June 22, 2014.]
http://stackoverflow.com/questions/4356289/php-random-string-generator.
13. Visualization : Pie Chart. Google Developers. [Online] July 30, 2014. [Cited: August 7, 2014.]
https://developers.google.com/chart/interactive/docs/gallery/piechart.
14. Visualization : Bar Chart. Google Developers. [Online] July 30, 2014. [Cited: August 8, 2014.]
https://developers.google.com/chart/interactive/docs/gallery/barchart.
15. Visualization: Line Chart. Google Developers. [Online] July 30, 2014. [Cited: August 8, 2014.]
https://developers.google.com/chart/interactive/docs/gallery/linechart.
16. Silverman, J.et al. Rules of the thumb : aguide for writers. New York : McGraw-Hill, 2002.
17. Niederst, J. Web Design in a Nutshell : A desktop quick reference. s.l. : O'Reillt (USA), 2006.
69
BCS Professional Project (Professional Graduate Diploma in IT)
70
BCS Professional Project (Professional Graduate Diploma in IT)
Appendices
Appendix A Logical Design
A.1 Data Flow Diagrams
A.1.1 Level 1 DFD for Members
71
BCS Professional Project (Professional Graduate Diploma in IT)
72
BCS Professional Project (Professional Graduate Diploma in IT)
73
BCS Professional Project (Professional Graduate Diploma in IT)
74
BCS Professional Project (Professional Graduate Diploma in IT)
75
BCS Professional Project (Professional Graduate Diploma in IT)
76
BCS Professional Project (Professional Graduate Diploma in IT)
A.3.2 committee
A.3.3 decisions
A.3.4 events
A.3.5 expenditure
A.3.6 fees
A.3.7 marks
A.3.8 member_payments
A.3.9 members
A.3.10 mem_login
79
BCS Professional Project (Professional Graduate Diploma in IT)
A.3.11 merchandise
A.3.12 news
A.3.13 order_merchandise
A.3.12 other_payments
A.3.15 participate
A.3.16 payments
A.3.17 position
A.3.18 posts
81
BCS Professional Project (Professional Graduate Diploma in IT)
A.3.19 tokens
A.3.20 vote
82
BCS Professional Project (Professional Graduate Diploma in IT)
83
BCS Professional Project (Professional Graduate Diploma in IT)
84
BCS Professional Project (Professional Graduate Diploma in IT)
85
BCS Professional Project (Professional Graduate Diploma in IT)
86
BCS Professional Project (Professional Graduate Diploma in IT)
87
BCS Professional Project (Professional Graduate Diploma in IT)
1.4.2 php script to load data to the drop down menu. The dropdown menu will show
the time period for which the committee was appointed
<select name="positionId" id="positionId" onchange="showDetails(this.value)">
<?php
while($row=mysqli_fetch_array($result)){
$startDate=date("F Y",strtotime($row['startDate']));
$endDate=$row['endDate'];
?>
<?php
if($endDate!=NULL){
echo $startDate.' - '.date("F Y",strtotime($endDate));
?>
<option value="<?php echo $endDate;?>">
<?php echo $startDate.' - '.date("F Y",strtotime($endDate));?>
</option>
<?php
}else{
?>
<option value="<?php echo 'current';?>"><?php echo "Current Committee";?></option>
<?php } ?>
<?php }} ?>
</select>
88
BCS Professional Project (Professional Graduate Diploma in IT)
2. Members
2.1 Notifications members/posts/postsNormal.php
2.1.1 AJAX code to receive more information from moreNews.php and display
postsNormal.php
Code adapted from http://www.9lessons.info/2009/12/twitter-style-load-more-resultswith.html
<script type="text/javascript">
//jquery function to show more news items in news panel
$(function()
{
$('.more').live("click",function()
{
var ID = $(this).attr("id");
if(ID)
{
$("#more"+ID).html('<img src="../../images/load_img.gif" />');
$.ajax({
type: "POST",
url: "moreNews.php",
data: "lastmsg="+ ID,
cache: false,
success: function(html){
$("ol#updates").append(html);
$("#more"+ID).remove(); // removing old more button
}
});
}
else{
89
BCS Professional Project (Professional Graduate Diploma in IT)
2.1.2 php code to display the next 10 News items along with the already displayed list
of items moreNews.php
<?php
include('../checksession.php');
include('../../include/dbconnection.php');//connection
$level=$_SESSION['level'];
$stream=$_SESSION['stream'];
if(isset($_POST['lastmsg']))
{
$lastmsg=$_POST['lastmsg'];
$lastmsg=mysql_real_escape_string($lastmsg);
//select all recent 10 news items starting from last item displayed
$sql="SELECT n.postId,n.title,p.memLevel,p.postTime FROM news AS n, posts AS p WHERE
n.postId=p.postId AND p.postType='N' AND p.postId<'$lastmsg' AND p.memLevel<='$level' AND
p.memType LIKE '%$stream%' ORDER BY n.postId DESC LIMIT 10";
$result = mysqli_query($con,$sql);
$nof=mysqli_num_rows($result);//no of results
if($nof>0){
while($row = mysqli_fetch_array($result)){
//display obtained values
$pid=$row['postId'];//postId
?>
<li onclick="showDetails(this.value)" value="<?php echo $pid;?>" class="selectable"> <img
src="../../images/<?php echo $row['memLevel'];?>s.png" alt="0"/> <?php echo
$row['title'];?><br><span style="font-size:smaller; color:#999"><?php echo date("F j, Y g:i
a",strtotime($row['postTime']));?></span></li>
<?php }?>
<div id="more<?php echo $pid; ?>" class="morebox">
<a href="#" id="<?php echo $pid; ?>" class="more">More News</a>
</div>
<?php
}
}
?>
90
BCS Professional Project (Professional Graduate Diploma in IT)
91
BCS Professional Project (Professional Graduate Diploma in IT)
92
BCS Professional Project (Professional Graduate Diploma in IT)
93
BCS Professional Project (Professional Graduate Diploma in IT)
94
BCS Professional Project (Professional Graduate Diploma in IT)
function validateSubjectName(subName,NoSubject){
if(subName==""){
alert("Subject name can't be empty");
return false;
}
var subNam=0;
for(var j=0;j<NoSubject;j++){
95
BCS Professional Project (Professional Graduate Diploma in IT)
if((document.getElementById('Subject'+j).value)==subName){
subNam+=1;
}
}
if(subNam>1){
alert("You have entered same subject more than once");
return false;
}
return true;
}
//function to calculate GPA using grades
function calcSGPA(NoSubject){
var totGPA=0;
var totCredit=0;
var NoSubject= parseInt(NoSubject);
var i=0;
document.getElementById("displayGPA").style.visibility="visible";
//calculating total no of credits
for (i = 0; i < NoSubject; i++) {
//validating subject name
if(validateSubjectName(document.getElementById('Subject'+i).value,NoSubject)==false){
document.getElementById('Subject'+i).focus();
return false;
}
//validating the text in credit fields
if(validateCredit(document.getElementById('Credit'+i).value)==false){
document.getElementById('Credit'+i).focus();
return false;
}
totCredit+=parseInt(document.getElementById('Credit'+i).value);
}
//calculate Grade point
for (i = 0; i < NoSubject; i++) {
var x = parseInt(document.getElementById('Grade'+i).selectedIndex);
var gradeVal=retGradeVal(x);
totGPA+=((document.getElementById('Credit'+i).value)*gradeVal);
}
//calculate GradePoint Average
var SGPA=totGPA/totCredit;
SGPA=SGPA.toPrecision(5);
document.getElementById("displayGPA").innerHTML='Your current GPA value for this
semester is </br><p style="font-size:20px; color:red;">'+SGPA+'</p></br></br><input
class="button" type="button" name="calcTotGPA" id="calcTotGPA" value="Add this to current
GPA and Calculate final GPA" onclick="showFGPA()" />';
//pass GPA and total credit values to hidden text fields to obtain later
document.getElementById("hiddenGPA").value=SGPA;
document.getElementById("hiddenCredit").value=totCredit;
96
BCS Professional Project (Professional Graduate Diploma in IT)
return true;
}
//function to return grade value for each grade
function retGradeVal(grade){
switch(grade){
case 0:
return 4.2;
break;
case 1:
return 4.0;
break;
case 2:
return 3.70;
break;
case 3:
return 3.30;
break;
case 4:
return 3.0;
break;
case 5:
return 2.7;
break;
case 6:
return 2.3;
break;
case 7:
return 2.0;
break;
case 8:
return 1.7;
break;
case 9:
return 1.3;
break;
case 10:
return 1.0;
break;
case 11:
return 0;
break;
case 12:
return 0;
break;
case 13:
return 0;
break;
}
}
//function to validate credit value
function validateCredit(id){
if(id==NaN || id==""){
alert("The No. of Credits must be a number");
return false;
}
97
BCS Professional Project (Professional Graduate Diploma in IT)
98
BCS Professional Project (Professional Graduate Diploma in IT)
99
BCS Professional Project (Professional Graduate Diploma in IT)
100
BCS Professional Project (Professional Graduate Diploma in IT)
101
BCS Professional Project (Professional Graduate Diploma in IT)
102
BCS Professional Project (Professional Graduate Diploma in IT)
Username/email
Password
hashangod@gmail.com
123456
super@acicts.lk
155555
suwa@gmail.com
123456
Username/email
Password
lahiru.dar@gmail.com
123456
dhanushka1991@gmail.com
1991abc
lahirudesilva@rocketmail.com
qwerty12345
103
BCS Professional Project (Professional Graduate Diploma in IT)
1.
Administrators
1.1 Generate Financial Statements
Administrators have the facility of generating financial statements for certain specific
time periods of their choice.
104
BCS Professional Project (Professional Graduate Diploma in IT)
105
BCS Professional Project (Professional Graduate Diploma in IT)
106
BCS Professional Project (Professional Graduate Diploma in IT)
107
BCS Professional Project (Professional Graduate Diploma in IT)
108
BCS Professional Project (Professional Graduate Diploma in IT)
2.
Members
109
BCS Professional Project (Professional Graduate Diploma in IT)
110
BCS Professional Project (Professional Graduate Diploma in IT)
2.3 Committee
Committee details and past committee member details can be viewed in this section.
111
BCS Professional Project (Professional Graduate Diploma in IT)
1.2 Posts
Category 3 administrators can add news and events as a new post.
112
BCS Professional Project (Professional Graduate Diploma in IT)
When posting details about an event, the system provides the facility of including a
Google Map location in the post. For this, the admin has to manually find the location of
the event in Google Maps, get the embed code of the map location and paste it in the
text field named Google Maps Embed code (Figure E.1.3). The system will then strip
the unwanted parts of that code and save the required part of embed code in the
database (refer Appendix B section 1.2.1 for code).
113
BCS Professional Project (Professional Graduate Diploma in IT)
1.3 Polls
Category 1 and 2 administrators can add polls, view results, view comments posted by
members.
1.4 Merchandise
Category 2 administrators have the authority to add new items. They can upload the
image of item smaller than 500kb, which will be stored in the file system.
Supported image types: gif, jpg, jpeg, png, x-png, pjpeg
It is important to provide price in Sri Lankan Rupees and correct stock value.
Category 2 administrators will be shown add item and process member payments
buttons on top of merchandise page.
115
BCS Professional Project (Professional Graduate Diploma in IT)
116
BCS Professional Project (Professional Graduate Diploma in IT)
117
BCS Professional Project (Professional Graduate Diploma in IT)
When creating a new admin, a random password will be generated by a user defined
function (Appendix B section 1.1.1) as a set of characters which will be the initial
password of the new admin. As a security mechanism, the generated password will
be hashed and salted (refer section 4.4.1 on password security and appendix B
section 1.1.2).
118
BCS Professional Project (Professional Graduate Diploma in IT)
119
BCS Professional Project (Professional Graduate Diploma in IT)
120
BCS Professional Project (Professional Graduate Diploma in IT)
121
BCS Professional Project (Professional Graduate Diploma in IT)
122
BCS Professional Project (Professional Graduate Diploma in IT)
2. Member
2.1 Notifications
Members can view News and Events in Notifications section. To view details of each
news or event item, user needs to click on the items on left pane. Details will be
displayed on the right pane. Old posts can be viewed by clicking More News or More
Events button.
123
BCS Professional Project (Professional Graduate Diploma in IT)
2.2 Polls
Members can view polls and vote on those along with their comments
124
BCS Professional Project (Professional Graduate Diploma in IT)
Then an array of text boxes will be generated from a JavaScript (refer Appendix B
section 2.2.2) where the member will be able to enter subject name, credit value and
grade obtained. Before the form is submitted, it will be validated for data mismatches
using JavaScript.
126
BCS Professional Project (Professional Graduate Diploma in IT)
To add a record to an existing record set, user will have to click on Add another record
to this semester.
Then the user will be directed to another page where new record can be added to the
existing record set of that particular semester.
127
BCS Professional Project (Professional Graduate Diploma in IT)
128
BCS Professional Project (Professional Graduate Diploma in IT)
129
BCS Professional Project (Professional Graduate Diploma in IT)
130
BCS Professional Project (Professional Graduate Diploma in IT)
131
BCS Professional Project (Professional Graduate Diploma in IT)
133
BCS Professional Project (Professional Graduate Diploma in IT)
Appendix F Hosting
1. Registration
First an account was registered in the selected free host 000webhost using a free
sub-domain option.
134
BCS Professional Project (Professional Graduate Diploma in IT)
135
BCS Professional Project (Professional Graduate Diploma in IT)
Next, Manage Databases section in the account was accessed and a new database
was created with the following details.
136
BCS Professional Project (Professional Graduate Diploma in IT)
4. Uploading Files
This was done using Filezilla client. Details of eskdu account was used to establish a
connection between Filezilla client and the server and FTP was used to transfer files
to the server from local machine.
137
BCS Professional Project (Professional Graduate Diploma in IT)
Figure F.12 Remote host file view after connection was established
Figure F.14 Web site root when viewed from File Manager
Next the file default.php in root/public_html folder was deleted.
Now the website is publicly accessible and a free domain eskdu.tk was used to
redirect to the actual sub-domain eskdu.herobo.com
138
BCS Professional Project (Professional Graduate Diploma in IT)
140
BCS Professional Project (Professional Graduate Diploma in IT)
Member
Feature
Good
Satisfactory
Bad
Worse
Interfaces
Colour scheme
Font size
Font weight
Error and success messages
Navigation
Performance and speed
Icons
Links
Data presentation
Validation of invalid data
Browser independence
Understanding functions
Mobile compatibility
Suggestions:
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
Figure H.1 Evaluation Form
141
BCS Professional Project (Professional Graduate Diploma in IT)