Bookify

Font Awesome Icons

View on GitHub | Live Demo

πŸ“ Overview

Bookify is an user-friendly online book store built using the MERN stack (MongoDB, Express.js, React, Node.js). It provides a seamless experience for both readers and administrators. The system is designed to facilitate browsing, searching, and buying books.

πŸš€ Key Features

FeatureDescription
πŸ” User AuthenticationSecure login and registration system using Firebase for user authentication.
πŸ“š Book CatalogUsers can browse and search for books by title, author, or genre.
πŸ›’ Cart and orderingUsers can add books to their cart, order books, and track order history.
πŸ“Š Admin DashboardAdmins can add, update, delete, and manage book listings.
πŸ“‚ Data StorageStore user data and book information in MongoDB.

πŸ› οΈ Technologies & Tools

TechnologyPurposeLink
MongoDBNoSQL database for storing books and user dataMongoDB
Express.jsBackend framework for API developmentExpress.js
ReactFrontend framework for building the user interfaceReact
Node.jsJavaScript runtime for backend developmentNode.js
FirebaseSecure user authenticationFirebase
GitHubVersion control for team collaborationGitHub

Features

Homepage

The homepage provides an overview of the platform, showcasing featured books, top sellers, and new arrivals. It serves as the main entry point for users to explore the book collection.

Homepage Top Sellers Section Shows the top selling books at a certain period Top Sellers Recommended for you shows curated books just for you Recommended

All Books Page

This page displays a comprehensive list of all available books. Users can browse through the collection, filter by categories, and search for specific titles or authors.

All Books

User Signup

New users can create an account by providing their details. This allows them to access personalized features such as adding books to their wishlist and placing orders.

Signup

User Login

Existing users can log in to their accounts to access their saved preferences, order history, and other personalized features.

Login

Admin Dashboard

Admins have access to a dedicated dashboard where they can manage the book listings, including adding new books, updating existing ones, and removing books from the catalog.

Admin Dashboard

Add to cart

Users can add books to their cart for purchase. The cart keeps track of selected items and allows users to proceed to checkout when they are ready to complete their purchase.

Add to Cart

Checkout Page

The checkout page provides a summary of the items in the user’s cart and allows them to enter their shipping and payment information to complete the purchase.

Checkout

Order Page

The order page allows users to view their order history, track the status of their current orders, and manage their past purchases.

Orders

Books Description Page

This page provides detailed information about a specific book, including its description, author, price, and reviews from other users.

Book Details

The related books section suggests books similar to the one currently being viewed, helping users discover more books of interest.

Related Books

Review Section

Users can read reviews left by other readers and leave their own reviews for books they have read. This section helps users make informed decisions about their book purchases.

Reviews

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/bookify.git
    cd bookify
    cd backend
    npm install
    cd ../frontend
    npm install
    
  2. Set up environment variables: Create a .env file in the backend directory and add the following environment variables:
    DB_URL="your_mongodb_connection_string"
    PORT=5000
    JWT_SECRET_KEY="your_jwt_secret_key"
    
  3. Running the Application: ```bash

    Start the backend server

    cd backend npm run dev

Start the frontend development server

cd frontend npm run dev ```