Presentation on theme: "Akram Agbaria Jean-David Gibrat. Introduction The number and success of Trade sites drastically increased during the last years. Websites like E-bay or."— Presentation transcript:
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.
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.
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.
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 !!!!
AB 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
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).
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
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.
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
presentTransaction Table agreementtransactionoEvaluation Submited bEvaluation Submited enum Enum transIDownerIDborrowerIDitemIDtransStart Date transFinish Date message Bigint (20) Bigint (20) Bigint (20) Bigint (20) date TinyText : Foreign Key : Primary Key
pastTransaction Table pastTransIDownerIDborrowerIDitemIDTrans Confirm transValid Bigint (20) Bigint (20) Bigint (20) Bigint (20) EnumBigint (20) Book Comment Book Condition Trans StartDate Trans FinishDate textTinyint (4) 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) textTinyint (4) Tinyint (4) Tinyint (4) text : Foreign Key : Primary Key
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.
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.
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 ;)
Sign Up GUI Sequence Diagram signUpsignUp_actionhomePage Check out incorrect time GUI php pages homePage
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
Insert New Book GUI Sequence Diagram itemDetailsinsertNewBookinsertNewBook_action time GUI php pages personalHomePage General Menu OR Check out incorrect
Search New Book GUI Sequence Diagram searchNewBooksearchNewBook_actionuserDetails time GUI php pages itemDetails Check out incorrect request insertNewBook userDetails General Menu
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
Evaluation GUI Sequence Diagram Evalution_action personalHomePage time GUI php pages Evaluation BTM records the evalution General Menu
itemDetails itemDetails is used in several processes: insertNewbook searchNewBook request Evaluation Several bookLists in personalHomePage userDetails
userDetails is used in several processes: searchNewBook request Evaluation Several bookLists in personalHomePage itemDetails
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.
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.