69
Choose a man Love is complicated, shopping is simple Java EE - Tongji University Shanghai Introducing The new online dating service in China

Choose a man — Final Presentation at Tongji University Shanghai

Embed Size (px)

DESCRIPTION

Choose a man — Final Presentation at Tongji University Shanghai This project was for our Java EE course at Tongji University in Shanghai, China. The ideas come from an online dating service in France (AdopteUnMec.com) with a copycat approach for the Chinese market. The goal of this presentation was to present the final presentation of our project. We made the presentation the 18th June 2013 for the Java EE course. Team : Adrien ABAD (EPITECH 2014) Romain CAPOT (EPITECH 2014) Nicolas DANINO (EPITECH 2014) Sylvain DEVAUX (EPITECH 2014) Bertrand NGUYEN-HAO (EPITECH 2014) Suresh RAJALINGAM (EPITECH 2014) Roger TAN (EPITECH 2014)

Citation preview

Page 1: Choose a man — Final Presentation at Tongji University Shanghai

Choose a man Love is complicated, shopping is simple

Java EE - Tongji University Shanghai

IntroducingThe new online dating service in China

Page 2: Choose a man — Final Presentation at Tongji University Shanghai

The idea

1

Page 3: Choose a man — Final Presentation at Tongji University Shanghai

Boys are pr ducts

Girls are cust mers

Online dating serviceWhere

Page 4: Choose a man — Final Presentation at Tongji University Shanghai

Our values

E-commerce styleGameDedicated to girls

Page 5: Choose a man — Final Presentation at Tongji University Shanghai

The team

2

Page 6: Choose a man — Final Presentation at Tongji University Shanghai

RogerTan

Page 7: Choose a man — Final Presentation at Tongji University Shanghai

BertrandNguyen-Hao

Page 8: Choose a man — Final Presentation at Tongji University Shanghai

RomainCapot

Page 9: Choose a man — Final Presentation at Tongji University Shanghai

NicolasDanino

Page 10: Choose a man — Final Presentation at Tongji University Shanghai

SureshRajalingam

Page 11: Choose a man — Final Presentation at Tongji University Shanghai

SylvainDevaux

Page 12: Choose a man — Final Presentation at Tongji University Shanghai

AdrienAbad

Page 13: Choose a man — Final Presentation at Tongji University Shanghai

7 members2 Team

Page 14: Choose a man — Final Presentation at Tongji University Shanghai

Technologies

3

Page 15: Choose a man — Final Presentation at Tongji University Shanghai

1 Project

Page 16: Choose a man — Final Presentation at Tongji University Shanghai

Java

JavaServer Faces

Hibernate Framework

PrimeFaces

Google Maps API

Yoda-Time

Tomahawk

Compass

Mustache.js

Socket.io

jQuery

HTML5

CSS3

AJAX

Node.js

MySQL

16Technologies

Page 17: Choose a man — Final Presentation at Tongji University Shanghai

The way to love

3

Page 18: Choose a man — Final Presentation at Tongji University Shanghai

Sign-up

Page 19: Choose a man — Final Presentation at Tongji University Shanghai

Fill herprofile

Page 20: Choose a man — Final Presentation at Tongji University Shanghai

Receive a charmfrom a guy

Page 21: Choose a man — Final Presentation at Tongji University Shanghai

Talk

Put the handsome guy

in her cart

Page 22: Choose a man — Final Presentation at Tongji University Shanghai

Talk

Talk

Page 23: Choose a man — Final Presentation at Tongji University Shanghai

And more...

Talk

Page 24: Choose a man — Final Presentation at Tongji University Shanghai

Demo

4

Page 25: Choose a man — Final Presentation at Tongji University Shanghai

DEMO

Page 26: Choose a man — Final Presentation at Tongji University Shanghai

Architecture

5

Page 27: Choose a man — Final Presentation at Tongji University Shanghai

Model ViewController

Page 28: Choose a man — Final Presentation at Tongji University Shanghai

Model ViewController

Page 29: Choose a man — Final Presentation at Tongji University Shanghai
Page 30: Choose a man — Final Presentation at Tongji University Shanghai
Page 31: Choose a man — Final Presentation at Tongji University Shanghai
Page 32: Choose a man — Final Presentation at Tongji University Shanghai
Page 33: Choose a man — Final Presentation at Tongji University Shanghai

Code

5

Page 34: Choose a man — Final Presentation at Tongji University Shanghai

The map Research Home Registration Notification

We are going to explain you the operationof five elements of the website

Page 35: Choose a man — Final Presentation at Tongji University Shanghai

The map

Page 36: Choose a man — Final Presentation at Tongji University Shanghai

City + Region

1

We have the city and the regionof each user in the database

The map

Page 37: Choose a man — Final Presentation at Tongji University Shanghai

Google MapsAPI

City + Region

1 2

We sends the city and the region to the Google Maps API

The map

Page 38: Choose a man — Final Presentation at Tongji University Shanghai

Google MapsAPI

City + Region

1 2 3

GPS Data

The API sends back the GPS information of the city

The map

Page 39: Choose a man — Final Presentation at Tongji University Shanghai

Google MapsAPI

City + Region

1 2 3 4

Google MapsAPI

GPS Data

Then, we send the GPS information to the Google Maps API again

The map

Page 40: Choose a man — Final Presentation at Tongji University Shanghai

The map

Google MapsAPI

City + Region

1 2 3 4 5

Google MapsAPI

GPS Data The map

Finally, we get the map with the pin.We display it on the user’s profile

Page 41: Choose a man — Final Presentation at Tongji University Shanghai

Research

Page 42: Choose a man — Final Presentation at Tongji University Shanghai

When a search form is filledAn object research is build

with all criteria

Object research

Page 43: Choose a man — Final Presentation at Tongji University Shanghai

But the information are stored in many tables

Information stored into tables

Object research

Page 44: Choose a man — Final Presentation at Tongji University Shanghai

How to match them for building our research query ?

Information stored into tables

Object research

Page 45: Choose a man — Final Presentation at Tongji University Shanghai

Information stored into tables

Object research

We use the reflection to solve it (reflective programming paradigms)

Reflection

Page 46: Choose a man — Final Presentation at Tongji University Shanghai

Information stored into tables

Object research

So now we have our research query

SQL Query

Page 47: Choose a man — Final Presentation at Tongji University Shanghai

So, we have our research query

The researchThe process

SQL Query

1

Page 48: Choose a man — Final Presentation at Tongji University Shanghai

We send it to Hibernate(Object-Relational Mapping)

The researchThe process

Hibernate ORM

1 2

SQL Query

Page 49: Choose a man — Final Presentation at Tongji University Shanghai

The researchThe process

We get back a list of users that match with the research query

Hibernate ORM

List of users

1 2 3

SQL Query

Page 50: Choose a man — Final Presentation at Tongji University Shanghai

The researchThe process

Then, the list is changed accordingto the distance between the two users

Hibernate ORM

List of usersSort by

distance

1 2 3 4

SQL Query

Page 51: Choose a man — Final Presentation at Tongji University Shanghai

Finally, a match percentage is calculated and the list is sorted

The researchThe process

Hibernate ORM

List of usersSort by

distanceMatch

Percentage

1 2 3 4 5

SQL Query

Page 52: Choose a man — Final Presentation at Tongji University Shanghai

Home

Page 53: Choose a man — Final Presentation at Tongji University Shanghai

Quick Research

Home

Page 54: Choose a man — Final Presentation at Tongji University Shanghai

Quick Research

Carousel of thebest buyers of the month

Home

Page 55: Choose a man — Final Presentation at Tongji University Shanghai

Quick Research

Carousel of thebest buyers of the month

Carousel of peoplein the same province

Home

Page 56: Choose a man — Final Presentation at Tongji University Shanghai

Quick Research

Carousel of thebest buyers of the month

Carousel of lastconnected people

Home

Carousel of peoplein the same province

Page 57: Choose a man — Final Presentation at Tongji University Shanghai

Quick Research

Carousel of thebest buyers of the month

Home

Carousel of peoplein the same province

Carousel of lastconnected people

Carousel ofthe contact list

Page 58: Choose a man — Final Presentation at Tongji University Shanghai

Home

Quick Research

Carousel of thebest buyers of the month

Carousel of peoplein the same province

Carousel of lastconnected people

Carousel ofthe contact list

Page 59: Choose a man — Final Presentation at Tongji University Shanghai

Registration

Page 60: Choose a man — Final Presentation at Tongji University Shanghai

RegistrationA form example

E-mailVerified format

BirthdayMinimum 18

Password SHA1 Encryption

GenderNicknameReal name

Page 61: Choose a man — Final Presentation at Tongji University Shanghai

Notification

Page 62: Choose a man — Final Presentation at Tongji University Shanghai

The notification system

We have 3 types of events

Adoption Message Charm

The events

Page 63: Choose a man — Final Presentation at Tongji University Shanghai

The notification systemThe process

The user makes one of the three eventsto another user

1

Action

Page 64: Choose a man — Final Presentation at Tongji University Shanghai

The notification systemThe process

The Javascript client sends the event to the server with 2 parameters : the sender’s nickname

and the receiver’s nickname

1 2

Action Event sender

Page 65: Choose a man — Final Presentation at Tongji University Shanghai

The notification systemThe process

The server catches the eventand finds the socket of the receiver

in an associative array

1 2 3

Action Event sender Node.js Server

Page 66: Choose a man — Final Presentation at Tongji University Shanghai

The notification systemThe process

The server sends an eventto the receiver

1 2 3 4

Action Event sender Event receiverNode.js Server

Page 67: Choose a man — Final Presentation at Tongji University Shanghai

The notification systemThe process

The receiver receives the event and displays the pop-up to the user

1 2 3 4 5

Action Event sender Node.js Server Event receiver Pop-up

Page 68: Choose a man — Final Presentation at Tongji University Shanghai

Choose a man Love is complicated, shopping is simple

Your new online dating service

Page 69: Choose a man — Final Presentation at Tongji University Shanghai

Thanks to them !Concept

Original idea by AdopteUnMec.com

Slides inspirationEmiland de Cubber

Nancy Duarte

The Noun ProjectEngrenages by Max Hancock

Search by Phil GoodwinCompare by Tim Shedor

Magic by Natalia BłaszczykSign Up by Charlene Chen

Divorce by Luis PradoPhare by Paulo Volkova

User by Ryan OksenhornLocation by Ricardo Moreira

Shopping Cart by John CasertaLove Shack by Luis Prado

Birthday Cake by Grant WilsonCompare by Tim Shedor

Database by Ed JonesCompass by Jardson AraújoTeam by Björn Andersson Time by Richard de Vos

Double Tap by Mert GutavChat by Atelier Iceberg

Heart by Jetro Cabau Quirós

Eye by Mateo ZlatarSign Up by Jens Windolf

Lock by Andy FuchsBuilding Block by Michael Rowe

Boy by Michael RoweConstruction by OCHA AVMUMustache by Ade Harnusa Azril

Test Tube by Zach GrahamKey by William J. SalvadorCity by Juan Pablo Bravo

Axe by Guvnor CoData Analysis by Brennan Novak

Button by Travis YunisTeam by Ed Gray

Server by aLfEnvelope by Jonathan Gibson

Race Track by Liau Jian JieFlag by Stanislav Levin

Percent by Axel HerrmannQuestion by Chok Hernández

CSS by Qinq Li

UniversityEPITECH Paris

Tongji University Shanghai