Skip to content

A MERN stack book sharing app where users can buy and sell their book.

Notifications You must be signed in to change notification settings

ashiqdev/bookshare

Repository files navigation

ShareBook

ShareBook - Buy or Sell books

A platform where you can buy/sell used or unused books

sharebook forks sharebook stars sharebook issues sharebook pull-requests

View ShareBook · Report Bug · Request Feature

Loved the project? Give this project a star to show your support.


Sharebook is a platform which ensures easier communtication between seller and buyer!

🧐 Feature list

  • Register a user
  • verify email address
  • resend verification mail
  • forget password
  • social login
  • Autocomplete search using algolia
  • image upload system using cloudinary
  • sort books by different criterias
  • image upload system using cloudinary
  • infinity scroll
  • Fetch, cache and update data without touching any "global state".
  • chat with seller

🚀 Getting started

This project is deployed at https://share-book-client.herokuapp.com

Guide for local deployment -

  1. Clone the repository
git clone git@github.com:ashiqdev/bookshare.git
  1. Change the working directory
cd bookshare
  1. Install dependencies
yarn
  1. Update .env file
cp example.env .env
  1. Install maildev for testing mail related services
npm i -g maildev
  1. Run maildev in one of the instance of your terminal
maildev --incoming-user=test --incoming-pass=test
  1. Run docker (install docker and docker-compose if you don't have those!)
npm i -g dotenv-cli
ENV_FILE=.env docker-compose -f docker-compose-dev.yml up --build
  1. Run backend server
dotenv -e .env yarn build:watch
dotenv -e .env yarn dev:server
  1. Run frontend
dotenv -e .env yarn dev:client
  1. Open project at http://localhost:1234

  2. Run integration test

dotenv -e .env yarn test:services
  1. For Api Documentation open http://localhost:7777/api-docs/ (you can also send http request from here)

You are all set!

🙇 Special Thanks

❤️ Support

If you happen to love this project, leave a star on the repo. That'll keep me motivated. Let me know your thoughts with a tweet. Mention me @ashikduit.

Thanks!

Contributions are welcomed!

Developed with ❤️ in Bangladesh