Skip to content

cssmh/book-sharing-client

Repository files navigation

MBSTU BookHaven (Student Book Sharing Web)

Build Status Version License

Demo Admin Access

Live Demo

Admin Dashboard

User Dashboard Screenshot of the Admin Dashboard showcasing administrative controls and statistics.

Table of Contents

Description

MBSTU BookHaven is my university final year project. It allows students to exchange hard-copy books, track borrowing, and review books. The platform includes role-based authentication with JWT, interactive dashboards using React Google Charts, and mobile-friendly design. A feature to prevent duplicate submissions has also been added.

Features

  1. User Authentication:

    • Sign up with name, photo URL, email, and password.
    • Log in with email or Google account.
    • Email verification required for new users.
    • Change password and update profile options in the profile section.
    • Users are added to the database with their details and role.
  2. Navigation and Accessibility:

    • Private route protection and redirection, including admin routes.
    • Forgot password option and password reset.
    • Auto-redirection for logged-in users attempting to access the login/register page.
  3. User Interface:

    • Responsive design for mobile and tablet devices.
    • AOS animations and Lottie animations for enhanced visuals.
    • Skeleton loaders on the home page and React spinner.
  4. Book Management:

    • Add, delete, and update books with validation.
    • View all books and search by name, provider, and location.
    • Swipeable book carousel using Swiper React.
  5. User-Specific Features:

    • User analytics displayed as pie charts.
    • Manage personal book listings and bookings.
    • Profile updates reflected across all user data.
    • Reviews and status updates for booked books.
  6. Admin Capabilities:

    • Admin dashboard for comprehensive data management.
    • Book and booking deletion capabilities.
    • Ability to upgrade users to admin.
    • Admin routes are protected with JWT and conditions.
    • Admins can access charts, view user book statistics, and perform various management tasks.
  7. Advanced Functionalities:

    • JWT for secure authorization.
    • React CountUp and Intersection Observer for dynamic counting.
    • A single hook for all TanStack Query operations.
    • Booking status management and duplicate booking prevention.
    • Providers can mark a booking as 'Completed'; other bookings for the same book will be disabled.
    • Pagination integrated with search, maintaining accurate page count and limiting results per page.
  8. New Feature: User Admin Panel

    • New users are added to the database with all info, including accounts created time, last login and also effect on updating name and image.
    • Users can now be upgraded to admin.
    • Admins cannot downgrade their own role to 'guest' if they are the only admin left.
    • Admins can delete users but cannot delete other admins.
    • Demo Admin: Read-only access for admin@mail.com. This demo admin can view all data but cannot perform actions like updating or deleting.

Packages Used

Dependencies

Dev Dependencies

About

MBSTU Students Book Sharing Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages