Buy & Sell books in a matter of minutes
Bookis is a mobile application designed for those who like reading and prefer paper books to electronic and audio ones. This service allows buying and selling used and new books from other users and bookstores easily.
Our task was to create a mobile marketplace which would allow people to freely distribute books among themselves by exchanging literature pieces for their cash equivalent. It was important to develop an application with an intuitive interface that would be convenient for searching and adding books. Only in this case, the Bookis owner could count on the network effect that is usual for any successful P2P marketplace.
We are proud to say that we’ve coped with the task perfectly.
Mobile marketplace app
iOS and Android app
Challenges and Implementation
While working on the Bookis project, our team faced certain difficulties, and it was pretty exciting to rise to those challenges.
Backend development is one of the most important stages of app creation. And although we did not work full time as the backend developers (our Agilie team was the attracted assistance in this case), we did our best to ensure the highest efficiency and speed of the application.
The Bookis app has been built using the MongoDB database and a fast, flexible, and minimalistic web framework named Express. Its important benefit is an extensive set of features for mobile and web apps.
Advanced search engine
Bookis offers a very convenient search system that makes it possible to find any book in a matter of minutes. Enter the title of the book and get all the results sorted by groups (New, Popular, A-Z, Rating, Price).
The search takes a minimum of time without forcing users to wait. To make that happen, we resorted to the help of the third-party service Elasticsearch.
Bookis has a system of push-notifications that come in response to any event: comments to the review, a new chat message, etc. Thus, this feature allows maintaining contact with the user and reminding him of the Bookis app.
To implement the push notification system, we used the following technologies: APNS (for the iOS platform), GCM (for Android devices), and FCM (suitable for both iOS and Android).
A beautiful interface is a key to the success of any application. In this case, we created an appealing and clear design and provided the service with charming and unobtrusive animations. For example, when a user visits the book description page, he sees the image of its cover at the top. If the user starts moving down the screen, the picture gradually expands, becomes more and more transparent, and, finally, completely disappears. This effect produces a favorable impression and gives the app a special flavor.
One of the key features of any online store or marketplace is, of course, a delivery system. And Bookis is no exception. In addition to the option of a personal meeting between the seller and the buyer, this application offers the possibility of courier delivery.
The Doormat delivery service, very popular in Norway, negotiates with the seller and the buyer and executes the order very quickly. Our task was to establish a system of interaction of this service with customers using API provided.
The main problem was overcoming the language barrier: the fact is that the Norwegian language contains characters that do not exist in English. The application did not always understand and correctly decrypt the entered delivery address, which could lead to confusion of all kinds. To solve this problem, we had to use a system of double encoding. This approach avoids the complexity of decrypting data, so the parcel arrives at its destination safely.
Socket server for chat
One of the tasks for our backend experts was the development of a server socket for chat by using hapi, a reliable framework for building applications and services. As a database for storing messages, we used Redis, an open source, in-memory data structure store.
The most classical solution to such task involves using Redis publish/subscribe messaging paradigm. However, in this case, there is a problem of lack of persistence, which means messages are not saved or cached. Having missed a message, a subscriber can't get it again.
However, we have overcome this pitfall by establishing a constant updating system. Thanks to this, messages are never lost.
Another great Bookis feature is the ability to scan a barcode or ISBN in order to get maximum information about the book. However, the usual smartphone camera can recognize only the traditional barcode, and we needed to expand these possibilities.
So, we used a mobile technology named ABBYY Real-Time Recognition. It can instantly extract information from the surfaces of various objects and does not even require an Internet connection. That’s why our Bookis application easily decrypts the ISBN code and provides all available book data.
We've written a script that simplifies the process of localizing rows. In other words, the task of adding a new language to the app has become really easy. Now it takes a minimum of time, which means that we save money for our client.
Of course, any marketplace implies the payment gateway integration. For our app, we used Stripe technology that handles billions of dollars every year for leading businesses around the world.
It is very important to stay in touch with your users and quickly respond to their possible complaints (or answer questions that arise). So, the application must have an effective support system. Bookis offers users to take advantage of the FAQ and Contact Us services for this very purpose. Both are implemented using the Intercom tool.
Benefits for the seller
Opportunity to put your own price.
Detailed statistics for assessing consumer behavior.
The simplicity of the process of adding goods (books).
The ability to communicate with other users.
The chance to get positive review.
The opportunity to participate in the ranking of books.
Benefits for the buyer
Advanced search system.
Protection against misconduct.
Convenient delivery system.
Possibility to assess the state of the book at a distance.
Chat with other users.
Possibility to read reviews of other users and leave yours.
Take a look at the book's description
A user can visit the page of any interesting book. On this screen, he can:
See the book characteristics (price, publication date, etc.).
Read a brief description of the book content.
Add the book to one of his lists.
Tap to rate (put a book rating, from 1 to 5 stars).
Read and write reviews.
See the scale of ratings.
See who recommended this book to read.
Visit your booklists
The user can see his booklists which are divided into the following categories:
Not read yet.
In addition, there are two more important subsections: a special Wishlist for books that are particularly interesting to the user, and Scanned Books.
Chat with other users
Among other things, Bookis offers customers the opportunity to communicate with each other using the Chat feature.
Users can exchange opinions about the book or discuss the most convenient terms of delivery.
Explore for search inspiration
The first app screen offers users to familiarize themselves with the list of recommended and popular books from top ratings.
Lists for search inspiration include such categories as:
We recommend (Top100 & Super Cheap).
Add for sale
Here a user can add a book for sale with Bookis’s scanner we've described earlier. If the scanned book has not been found in the app library, the user is free to add it to the database by entering all the information required (including ISBN).
Buy used and new books in-app
This screen displays a shopping cart. Here a user can see the whole process of his interaction with the seller when buying new or used books.