+ All Categories
Home > Design > Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Date post: 09-Feb-2017
Category:
Upload: tiegsti-solomon
View: 25 times
Download: 0 times
Share this document with a friend
44
Tiegsti Solomon 1202271 BSc Information & Communication Technology
Transcript
Page 1: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Tiegsti Solomon 1202271

BSc Information & Communication Technology

Page 2: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Introduction

In this presentation I will be discussing:

• Motivation• Objectives• Sub-goals• Methodology• Technical Achievements

Page 3: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Motivation

• Current websites (Match & EHarmony) lack intelligence of users

• Let the users make their own choices and let it be known to them!

• Establish a level of user trust

• Aim on reducing level of deception & online predators

• Dating platforms provide more revenue than any other type of online sales (Scott, Mottarella, and Lavooy 2006).

Page 4: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Objectives (1)

• Construct a dating website where one user is matched with another user based on human characteristics.

• Produce a partner-matching algorithm that calculates two users compatibility levels:

• One percentage output displaying the amount of weight a user has given to a profile attribute

• The second percentage output displaying the quiz-match scores

• Provide a good user experience for members complying with HCI principles

Page 5: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Objectives (2)

• Provide a fun and interactive match quiz. Simple, consistent design and easy navigation.

• “Branch out” in fewer clicks.

• Adapt Agile (Scrum) Methodology

• Low cost development

• Organisable structure

Page 6: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (1)

Log in & Change Username / Password

o Successful login with the correct present credentials

o Log in validation (error validation message)

o Log out, end the session and prohibit users from accessing the users portal.

Page 7: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (2)

Sign Up

o Sign up users for membership to the website

o Common validation for correct credential format

o Add new user to database

o Log in immediately after users successful registration

Page 8: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (3)

Upload Display Picture

o Upload desired picture of user through user portal from users’ personal directory

o Uploading of an image in formats .jpg, .png, .tif

o Replaces previous image

o Image able to be displayed by all other users who access users profile

Page 9: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (4)

Edit Profile

o Ability to edit profile information about themselves

o Upon click, fields will be replaced with updated information

o Profile information updated in database

Page 10: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (5)

Find Match

o Those registered are able to use system to help find other compatible members registered.

o Output only high level of statistically compatible users, displayed once all questions are answered

Page 11: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (6)

Match Result View

o View matches with the extended option to view profile or delete contact if a connection is already established.

o Displayed as thumbnails of profile images, minimal information & button to send connect request

Page 12: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (7)

GUI Matching Algorithm

o The output of matching system should either provide users with potential partners

o Otherwise, displaying an appropriate message to alert the user no matches have been found

Page 13: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (8)

View Matches Profile

o View matches with the extended option to message, view profile or delete contact if a connection is already established.

o Displayed as thumbnails of profile images, minimal information & button to send connect request

o Appropriate verification for message sending, showing errors if a username does not exist.

Page 14: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sub-goals (9)

View Inbox

o Users having the ability:o Send Messages to single / multiple user(s)o Receive Messageso Delete Messages

Page 15: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Methodology (1)

Sprints duration: 9 daysDaily Scrum for outlining

accomplishments and keep track of burn-down chart

Agile (Scrum)

Page 16: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Methodology (2)

Scrum Product Backlog &Prioritised

Featured List Sprint / Iteration: (9 days)

Release: (2-3 Weeks) Sprint involves: Analysis,

Design, Build, Testing, Deploy

Assign name to a task where one is responsible for completing the task.

(0.0 = completed)

Page 17: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Methodology (3)

• Template Burn Down Chart (right) shows constant velocity as an ideal template of project pace.

• Helps to extrapolate trends from the data and can help in easily noticing whether or not the goal will be reached

Page 18: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Methodology (4)

Why use Scrum?

• Flexibility & creativity of designs• Iterations allow for system enhancement• The shorter the iterations, the more manageable the

sprint (burn-down charts = guidelines for a steady pace)• A better quality is released• Detect risks early• Consistency (going back and collecting user requirements)• Closer to matching with what the user wanted• If the users requirements evolve, so can the system

Page 19: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Product Backlog

Initial Product Backlog produced by iceScrum(as seen in Initial Report)

Page 20: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Structure (1)

APACHE

PHP

FILE SYSTEMMySQL

DATABASE

ATTACKERSUSERS / MEMBERS

INTERNET

php, js,html

APPLICATIONS

MacOS

Structure of XAMPP 

1. User makes a request to Web Server: Apache HTTP server receives HTTP request

2. Apache retrieves PHP files:PHP scripts are stored for retrieving and rendering HTML layouts

3. Apache server sends queries to database:SQLi queries held in PHP functions

4. Apache server sends queries to database:SQLi queries held in PHP functions

Page 21: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Structure (2)

System Folder Architecture

Page 22: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

ERD

Entrée Data Structure produced using MySQLWorkbenchAppendix (Figure 38) of Interim Report

Page 23: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Release 1/6

Page 24: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Log in

Incorrect user credentials result in validation error messages for system response to user

Page 25: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Logout

• Major risk discovered: SQL deprecationSolution: SQLi (improved)

• Array sanitize used to strip html tags and convert html entities (avoiding XSS)

Page 26: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Release 2/6

Page 27: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Sign up

Page 28: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Release 3/6

Page 29: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Match Algorithm (1)

Page 30: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Match Algorithm (2)

Results on Robin’s session:

• Gender and sexuality clashes are removed from the results before anything is calculated.

• If statements reveal whether or not the value score for each attribute is added to the total percentage variable.

• Variable then printed in a for loop of matching users

Page 31: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Match Algorithm (3)

Problem: What if a compatible partner enters his quiz result after Robin has already submitted hers?

Solution: a function must be called in order to find the relative ID’s of both users to find out whether he has taken the quiz, the percentage scores can also be retrieved from the `matches` table and shown in the update.

It can therefore be assumed if she appears as his match, that he has seen her. Below shows the function putting in ID 127 matches updating 128 after a function recognises a new user compatibility:

Page 32: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Match Algorithm (4)

• ‘Who has seen you’ is an update of matches who have taken the quiz after the session user, this after refresh or re-entry of page updates the ‘Daily Matches’ section above it.

• Having a ‘Who has seen you’ section can encourage users into Computer Mediated Communication (CMC).

Page 33: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Match Algorithm (5)

• Request / Accept connection:

Server notifies user of connection status change

Robin sends Andrew a connection request

USER SERVER

Andrew accepts connection request

Server updates Andrews status change & shows both users as connected

Page 34: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Release 4/6

Page 35: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Messaging System

A conversation back and forth updates the database for every form submission, updating table’s conversation, conversation_members and conversation_messages

Query commands used: SELECT (combining tables with INNER JOIN), UPDATE (timestamp), INSERT & DELETE

Page 36: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Update Profile

Using the UPDATE query command, gives users the opportunity to update their profile image & bio.

Page 37: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Release 5/6

Page 38: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Usability

• Vanity URL

• Jquery

• BrowserCompatibility

Page 39: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Release 6/6

Page 40: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Enhanced Algorithm

• Adding a profile preference page where users can select how important each profile weight is to them

• Complete user control in what they would like to see in their potential partners

• Profile weight entered into ‘user’ database and taken into consideration when calculating percentage scores

Page 41: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Add-ons

• Change password

• Profile Settings

• No. of memberswidget

Page 42: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Conclusion

• The more ambitious you are, the more releases you complete of less quality

• Better to stick to a small project and produce a good quality system

• Web Application involves a great deal of complexities where fixing one part of a system may result in breaking another

• A good designer is one that deals with complexity along the way

• A lot of confidence gained in programming with PHP, MySQL & JavaScript

Page 43: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Conclusion

• Although all tests passed, is the system the best it can be?

• The evolutionary approach provides endless development

• Future projects will have stronger boundaries enforced on what is and is not to be extended / implemented

• A huge experience in agile methodology and web application

Thank you for listening

Page 44: Tiegstisolomon1202271ce301presentationentree 151015083401-lva1-app6892

Questions


Recommended