Skip to content

Buy and sell used books app with chat facility, push notifications and location tracking

Notifications You must be signed in to change notification settings

ishanknijhawan/BookLord

Repository files navigation

BookLord

Download the app from here

[TOC]

Motivation

The need of buying a brand new book is decreasing day by day as people studying for a college semester or those who are preparing for competitive exams don’t need books for that long. Some avid readers just want a book for few weeks and return them instead of purchasing it. Booklord is a mobile app which helps people buy, sell or rent used books online.

People who buy new books find it difficult to sell it for a good price. They either ending up giving up their books to newspaper sellers to free up space in their cupboard, or sell them at a local stationery shop at a really low price. Furthermore, those people who are looking for used books have no choice but to go to stationery shops where the shopkeeper sells those used books at a very high price.

Booklord considers the above situations and allows one on one interaction between buyer and seller without any intermediary. People can sell their used books at the price they find it reasonable and those who are looking for a used book have a variety of options to choose from, based upon book condition, price and seller location. Through this app, we try to ease up the process of buying or selling a used book by moving the whole process online. People can browse books, sort them by price, or distance. And once they want to purchase it, they can directly chat with the buyers for further details.

About the product

The app is made in Flutter, which is to say that it can work in both Android and iOS with one single codebase. I was only able to test it with an Android device because I don't have a Mac machine, but it will work on any iOS device just as good. For backend I've used Firebase, and all the below mentioned tools for making this application.

Technologies Used

  • Google Flutter SDK for the frontend part.
  • Flutter packages like Location, Provider, firebase and camera.
  • FirebaseAuth for authentication and Google Sign in
  • FirebaseStorage for storing user's profile pictures, image messages in chats and images of user's posted ads
  • Firebase Cloud Firestore for storing user's, product's and chat data and
  • Firebase Cloud messaging for push notifications
  • Firebase Cloud Functions for deploying notification code to server side.
  • Google Cloud platform for showing maps and place names

The app starts with an Authentication screen as shown below

Sign in screen Login screen Google sign In

Once the user is logged in, he/she is greeted with 5 tabs, viz

  1. Home Screen
  2. MyAds Screen
  • Posted Ads
  • Favourite Ads
  1. Add a book screen

  2. Chat Screen

  3. Profile screen

All the screens are shown below

Home Screen Posted Ads Screeen Favourite Ads Screeen
Add new ad Screen Chat Screen Profile Screen

Home Screen followd by Product detail Screen

Starting from home screen, there are multiple things which user can do. He can mark/unmark ads as favorites. He can open the ads for more information like how far the person lives from his location, what is the condition of the book. He can also chat with the user from the app itself. If the user is opening his own ad, he can delete the ad or mark his ad as Sold. Below are the screens for the same.

Asking for location Product Info Screen Search Screen
Sort products Mark ad as Sold Delete ad

Add Product Screen

From this screen, user can follow the steps for posting an ad. The first 2 screens asks what kind of books the user wants to sell. The next two screens asks the user about the book details and some images he wants to share. User can add upto 3 images either from the camera or from his gallery. The final screens asks the price the user wants to set and the location where the user lives. There are two options are, first is user can choose current location by just tapping the current location button, second option allows user to select any location by pinning his location on the map (shown below) User can also Donate ❤ the book by pressing at the heart icon. Once the user has posted his ad, it will appear on the home screen of every other user.

Add Books Screen Further Categories Screen Book details
Adding images screen Image from Camera Image from Gallery
Price and Location screen Custom Location

Chat Screen

The app also has chat feature built in so that users don't have to share their phone number in the app. Buyers can just directly chat with the seller and with the push notifications, the seller is immediately notified. Image messages are also supported in the chat screen and the seller can just share some more pics of the book on buyer's demand.

Chat Screen Image messages Push Notifications

Dark Mode

Last but not the least. I've also added a dark mode feature which might come in handy for some users. Below are the screenshots of some screens in dark mode.

Product detail Screen Add Product Screen Chat Screen

Conclusion and Further imrovements

To conclude, I'd like to say that this can be very useful app for all those people who are looking for a used book for any reason like preparation for competetive exam, want a novel and return it, or browse any other book which they might like. For further improvements, I'd like to implement a payment system inside the app. This might come in handy because in today's times where cash exchange can be dangerous, buyer can just pay instantly to the seller without any physical contact of cash. I'd also like to improve upon some features like category selection, where user can filter the products based upon the category like novels, educational books, competetive exam books, etc.

About

Buy and sell used books app with chat facility, push notifications and location tracking

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages