- Email: admin@mail.com
- Password: 123456
Screenshot of the Admin Dashboard showcasing administrative controls and statistics.
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.