41
Akram Agbaria Jean-David Gibrat

Akram Agbaria Jean-David Gibrat

  • Upload
    fairly

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

BTM. BOOK TRADE MARKET. Akram Agbaria Jean-David Gibrat. Introduction. The number and success of Trade sites drastically increased during the last years. Websites like E-bay or CraigsList are today part of our lifestyle. - PowerPoint PPT Presentation

Citation preview

Page 1: Akram Agbaria Jean-David Gibrat

Akram Agbaria

Jean-David Gibrat

Page 2: Akram Agbaria Jean-David Gibrat

Introduction

• The number and success of Trade sites drastically increased during the last years.

• Websites like E-bay or CraigsList are today part of our lifestyle.

• We believe, it will be both useful and educational to construct a BOOK TRADE MARKET (BTM) website.

• The BTM data base will allow any user to exchange books with a community of peers.

• BTM’s project has been primarily designed for the Technion students. According to its success, however, it can be ultimately extended to a much larger community.

• BTM is an educational project which has been conducted in the Technion Institute of Technology EE-software lab. IIT, Haifa.

Page 3: Akram Agbaria Jean-David Gibrat

Outline

In our presentation we shall describe:

1) BTM’s goals and applications;

2) BTM’s programming modules;

3) BTM’s data base tables;

4) BTM’s rules and regulations;

5) BTM’s brief demonstration.

Page 4: Akram Agbaria Jean-David Gibrat

BTM’s System Goals• BOOK TRADE MARKET or BTM is a software application that will allow

its users to exchange books within a book community library.

• BTM will act as a large-scale library without facing its practical limits.

• BTM grows according to the size of its community.

• BTM enables people to exchange items with each other (P2P) in a free and non-monetary way.

• BTM keeps an updated Data Base information on each user, on his or her items, on his or her present and past book transactions in order to guarantee an exchange security and reliability.

• As a result, BTM suppresses the need for any physical infrastructure, and thus creates an outstanding flexibility and growing potential in the system.

Page 5: Akram Agbaria Jean-David Gibrat

A B

C

Harry Potter

Bible

Lonely Planet

A wants to exchange his “Lonely Planet” with “Harry Potter”

B wants to exchange his “Harry Potter” with the “Bible”

C wants to exchange his “Bible” with the “Lonely Planet”

DEAD LOCK !!!!

Page 6: Akram Agbaria Jean-David Gibrat

A B

C

Harry Potter

Bible

Lonely Planet

BTM system

C sends his Bible to BTM

C borrows Lonely Planet from BTM

B borrows the Bible from BTM

B sends his Harry Potter to BTM

A borrows Harry Potter from BTM

A sends his Lonely Planet to BTM

Page 7: Akram Agbaria Jean-David Gibrat

BTM Users’ Objectives

• The BTM’s system will help its users to satisfy the following objectives:

• It is easy to use and immediately welcoming as no money is involved.

• It guarantees safe exchange operations as they are supervised by the BTM’s system.

• It offers a large choice of books’ sharing.• It allows a fast search for specific books.• It is of free access: books are freely exchanged according to the

client’s personal “buki value” (personal credit).

Page 8: Akram Agbaria Jean-David Gibrat

signUp

PersonalHomePage

Logout

request

evaluation

insertNewBook

searchNewBook itemDetails

homePage

userDetails

bookList in

bookList out

bookList in hand

requests

Future transactions

my bookList

Edit profile

userInfo

itemInfo

bookInfo

present

Trans

past

Trans

user

Page 9: Akram Agbaria Jean-David Gibrat

PHP & MySQL

• We decided to use the PHP programming language and the MySQL storing tables in order to meet the BTM’s goals.

• PHP and MySQL are both free sources.• PHP supports:

– wide GUI operations– large-scale MySQL tools– an object-oriented programming.

• MySQL supports:– insert, select, update, drop operations– atomic operations in parallel threads– a refined and fast search with its own index system– primary and foreign keys that allow consistent information stored

in the DB tables.

Page 10: Akram Agbaria Jean-David Gibrat

BTM’s Programming Architecture

• 6 GUI• 4 GUI ReadOnly• 4 GUI action • 10 INTERFACE specific• 1 INTERFACE general• 1 INTERFACE DB• 1 INTERFACE MySQL• 4 MODULE• 3 CLASS• 1 IMAGE FOLDER• 1 CSS FOLDER

Page 11: Akram Agbaria Jean-David Gibrat

Basic Structure

signUp

GUI

signUp_interface

INTERFACE

signUp_action

GUI ACTION

general_interface

INTERFACE

DB_interface

Mysql_interface

MYSQL

CheckOut = falseCheckOut = true

user

submit

Page 12: Akram Agbaria Jean-David Gibrat

3 - elements basic structure

2 - elements basic structure

Page 13: Akram Agbaria Jean-David Gibrat

BTM’s Data Base Tables

BTM’s Data Base is composed with 5 Tables:

• userInfo => 17 columns• bookInfo => 11 columns• itemInfo => 12 columns• presentTrans => 11 columns• pastTrans => 18 columns

Page 14: Akram Agbaria Jean-David Gibrat

Table’s Links

userID

Bigint

(20)

pastTransaction

presentTransaction

bookID

Bigint

(20)

itemID bookID userID transID

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

transID ownerID borrowerID itemID

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

pastTransID ownerID borrowerID itemID transValid

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

userInfo

bookInfo

itemInfo

Page 15: Akram Agbaria Jean-David Gibrat

userInfo TableuserID Username password email firstName lastName birthday Address

Bigint

(20)

Varchar

(30)

Varchar

(30)

Varchar

(30)

Varchar

(30)

Varchar

(30)

date Varchar

(40)

Phone

Number

info isPrivate Gender gradeAs

Owner

gradeAs

Borrower

oCount bCount bukiCredit

Varchar

(30)

tinytext enum enum Tinyint

(4)

Tinyint

(4)

Int

(10)

Int

(10)

Int

(11)

: Foreign Key

: Primary Key

Page 16: Akram Agbaria Jean-David Gibrat

bookInfo Table

bookID title authorFirst authorLast publisher edition format

Bigint

(20)

Varchar

(30)

Varchar

(30)

Varchar

(30)

Varchar

(30)

enum enum

pagesNum language publicationDate dimension

Int

(11)

Enum Int

(4)

Enum

: Foreign Key

: Primary Key

Page 17: Akram Agbaria Jean-David Gibrat

itemInfo Table

itemID bookID userID transID genre description timeToLend

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

text text Smallint

(6)

Physical

Cond

bukiValue count available Insertion

Date

Tinyint

(4)

Tinyint

(4)

Int

(11)

Enum timestamp

: Foreign Key

: Primary Key

Page 18: Akram Agbaria Jean-David Gibrat

presentTransaction Table

agreement transaction oEvaluation

Submited

bEvaluation

Submited

enum enum Enum Enum

transID ownerID borrowerID itemID transStart

Date

transFinish

Date

message

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

date date TinyText

: Foreign Key

: Primary Key

Page 19: Akram Agbaria Jean-David Gibrat

pastTransaction Table

pastTransID ownerID borrowerID itemID Trans

Confirm

transValid

Bigint

(20)

Bigint

(20)

Bigint

(20)

Bigint

(20)

Enum Bigint

(20)

Book

Comment

Book

Condition

Trans

StartDate

Trans

FinishDate

text Tinyint

(4)

date date

Borrower

In

Agreement

Borrower

In

Transaction

Borrower

InGeneral

Borrower

Comment

ownerIn

Agreement

ownerIn

Transaction

ownerIn

General

Owner

Comment

Tinyint

(4)

Tinyint

(4)

Tinyint

(4)

text Tinyint

(4)

Tinyint

(4)

Tinyint

(4)

text

: Foreign Key

: Primary Key

Page 20: Akram Agbaria Jean-David Gibrat

How Can I Increase my Buki Credit ?

• I insert some New Books in the BTM’s library.

• I perform transactions as the Book’s Owner (my “buki credit” increases until the borrower returns my item to me).

• I receive good evaluation grades as an Owner for my already performed transactions.

• I receive good evaluation grades as a Borrower for my already performed transactions.

Page 21: Akram Agbaria Jean-David Gibrat

How Can my Buki Credit Decrease ?

• I remove some of my Books from the BTM’s library.

• I perform transactions as the book’s Borrower (my “buki credit” decreases until I give the item back to its owner).

• I receive bad evaluation grades as an Owner for my already performed transactions.

• I receive bad evaluation grades as a Borrower for my already performed transactions.

Page 22: Akram Agbaria Jean-David Gibrat

How Can I Increase my Item “Buki Value” ?

• Don’t worry about that .• the BTM system is running a private & fair and & secret ;) algorithm

in order to prevent from hackers and other bad guies to cheat ;)

Page 23: Akram Agbaria Jean-David Gibrat

• GUI components Sequence Diagrams

• BTM’s demonstration

Page 24: Akram Agbaria Jean-David Gibrat

Sign Up GUI Sequence Diagram

signUp signUp_action homePage

Check out

incorrect

time

GUI php pages

homePage

Page 25: Akram Agbaria Jean-David Gibrat
Page 26: Akram Agbaria Jean-David Gibrat

Personal Home Page GUI Sequence Diagram

itemDetails

time

GUI php pages

Edit profile

my book list

books in

books out

books in my hand

future Transactions

requests

personalHomePagetransactionsrequestpersonalHomePage

General Menu

Page 27: Akram Agbaria Jean-David Gibrat
Page 28: Akram Agbaria Jean-David Gibrat

Insert New Book GUI Sequence Diagram

itemDetails insertNewBook insertNewBook_action

time

GUI php pages

personalHomePage

General Menu

OR Check out incorrect

Page 29: Akram Agbaria Jean-David Gibrat
Page 30: Akram Agbaria Jean-David Gibrat

Search New Book GUI Sequence Diagram

searchNewBook searchNewBook_action userDetails

time

GUI php pages

itemDetails

Check out incorrect

request

insertNewBook

userDetails

General Menu

Page 31: Akram Agbaria Jean-David Gibrat
Page 32: Akram Agbaria Jean-David Gibrat

Request GUI Sequence Diagram

request personalHomePage

Check out incorrect :

BTM rejects the request

time

GUI php pages

itemDetails

Check out correct :

BTM records the request

Page 33: Akram Agbaria Jean-David Gibrat
Page 34: Akram Agbaria Jean-David Gibrat

EvaluationGUI Sequence Diagram

Evalution_action personalHomePage

time

GUI php pages

Evaluation

BTM records the evalution

General Menu

Page 35: Akram Agbaria Jean-David Gibrat
Page 36: Akram Agbaria Jean-David Gibrat

itemDetails

itemDetails is used in several processes:

• insertNewbook• searchNewBook• request• Evaluation• Several bookLists in personalHomePage• userDetails

Page 37: Akram Agbaria Jean-David Gibrat
Page 38: Akram Agbaria Jean-David Gibrat

userDetails

• userDetails is used in several processes:

• searchNewBook

• request

• Evaluation

• Several bookLists in personalHomePage

• itemDetails

Page 39: Akram Agbaria Jean-David Gibrat
Page 40: Akram Agbaria Jean-David Gibrat

BTM’ s Limits and Potential Improvements

Limits:• Minimal trust in users (P2P system, bad users are detected and rejected by

the BTM’s community).• Practical Book exchange :

– BTM should use a reliable shipping company to send its clients’ items– or BTM should create its own shipping infrastructure.

Potential Improvements:• Updating the “buki credit” as well as the “buki value” and the users’ grades

=> improve the grading functions in the evaluation_interface page.• Quick detection of the “bad’ users => according to the history kept in the

past Transaction Table.• Increasing Prevention from outside aggressions => improve the checkOut

function in each GUI.

Page 41: Akram Agbaria Jean-David Gibrat

Conclusion

• BTM is an educational project designed and implemented at the Technion Electrical Engineering Software lab.

• BTM enables its users to insert, search, exchange, and share books with the BTM’s community after they signed in.

• BTM has been developed using the PHP and MySQL programming languages.

• BTM has been developed with an object-oriented concern which allows a particularly large modularity.

• Akram and Jean-David express their gratitude to Uri Schonfeld for its time and wise guidance.