akram agbaria jean-david gibrat
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 PresentationTRANSCRIPT
![Page 1: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/1.jpg)
Akram Agbaria
Jean-David Gibrat
![Page 2: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/12.jpg)
3 - elements basic structure
2 - elements basic structure
![Page 13: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/23.jpg)
• GUI components Sequence Diagrams
• BTM’s demonstration
![Page 24: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/24.jpg)
Sign Up GUI Sequence Diagram
signUp signUp_action homePage
Check out
incorrect
time
GUI php pages
homePage
![Page 25: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/25.jpg)
![Page 26: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/27.jpg)
![Page 28: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/29.jpg)
![Page 30: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/31.jpg)
![Page 32: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/33.jpg)
![Page 34: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/34.jpg)
EvaluationGUI Sequence Diagram
Evalution_action personalHomePage
time
GUI php pages
Evaluation
BTM records the evalution
General Menu
![Page 35: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/35.jpg)
![Page 36: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/36.jpg)
itemDetails
itemDetails is used in several processes:
• insertNewbook• searchNewBook• request• Evaluation• Several bookLists in personalHomePage• userDetails
![Page 37: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/37.jpg)
![Page 38: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/38.jpg)
userDetails
• userDetails is used in several processes:
• searchNewBook
• request
• Evaluation
• Several bookLists in personalHomePage
• itemDetails
![Page 39: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/39.jpg)
![Page 40: Akram Agbaria Jean-David Gibrat](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062807/56815156550346895dbf77d6/html5/thumbnails/41.jpg)
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.