An open API service indexing awesome lists of open source software.

https://github.com/rikon07/bookitsu

Library Management Project
https://github.com/rikon07/bookitsu

firebase-auth jwt react react-router tailwindcss

Last synced: about 2 months ago
JSON representation

Library Management Project

Awesome Lists containing this project

README

          

# 📚 BooKitsu – Library Management Project

[![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)](https://react.dev/)
[![TailwindCSS](https://img.shields.io/badge/TailwindCSS-0ea5e9?style=for-the-badge&logo=tailwindcss&logoColor=white)](https://tailwindcss.com/)
[![Firebase](https://img.shields.io/badge/Firebase-FFCA28?style=for-the-badge&logo=firebase&logoColor=white)](https://firebase.google.com/)
[![Vite](https://img.shields.io/badge/Vite-646CFF?style=for-the-badge&logo=vite&logoColor=white)](https://vitejs.dev/)
[![Deployed](https://img.shields.io/badge/Live-Demo-10B981?style=for-the-badge&logo=vercel&logoColor=white)](https://bookitsu-library-007.web.app/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)

---
🚀 **Live Demo:** [https://bookitsu-library-007.web.app/](https://bookitsu-library-007.web.app/)
---

## ✨ Project Overview

**BooKitsu** is a beautifully crafted frontend for a modern school library management system. Users can browse books, borrow and return them, and view their own activity — all through a dynamic, elegant, and responsive UI powered by React, Firebase Auth, and TailwindCSS.

---

## 🔥 Key Features

- 🔐 Secure Firebase Authentication (Email/Pass + Google)
- 📦 Borrow & Return Books System (Limited to 3 books per user)
- 🌐 Fully Responsive Layout
- 💬 SweetAlert2 Feedback for User Actions
- 🎞️ Carousel + Animated Banner Section
- 🌙 Light & Dark Mode Support
- 📁 Protected Routes
- 🧭 Scroll-based Navbar Transparency
- 📊 Rating Stars, Skeleton Loaders & Tooltips
- ⚡ Fast loading with Vite + Lazy loading

---

## 🛠 Tech Stack

### 🧩 Framework & Core
- **React 19**
- **React Router 7**
- **Firebase Auth**
- **Axios (Secured via Interceptors)**
- **Vite**

### 🎨 UI & UX
- **Tailwind CSS 4**
- **Lucide Icons**
- **DaisyUI (Optional custom components)**
- **Framer Motion**
- **React Awesome Reveal**
- **AOS (Animate on Scroll)**
- **React Loading Skeleton**
- **React Fast Marquee**

### 📦 Extra Packages
- `lottie-react` – Animated elements
- `react-simple-typewriter` – Typing effects
- `swiper` – Responsive image sliders
- `react-multi-carousel` – Customizable carousels
- `react-toastify` – Toast notifications
- `sweetalert2` – User prompts & alerts
- `react-rating-stars-component` – Star-based ratings

---

## 🧠 Tech Stack

| Layer | Tech Used |
|--------------|-----------|
| **Frontend** | React, React Router, Tailwind CSS, DaisyUI |
| **Backend** | Express.js, MongoDB Atlas |
| **Auth** | Firebase Authentication |
| **Deploy** | Firebase Hosting |
| **UI Magic** | AOS, SweetAlert2, Lottie, Toastify, React Icons, Carousel, Framer Motion |

---

## Folder Structure

├── .firebase
└── hosting.ZGlzdA.cache
├── .firebaserc
├── .gitignore
├── README.md
├── eslint.config.js
├── firebase.json
├── index.html
├── package.json
├── public
└── vite.svg
├── src
├── App.css
├── App.jsx
├── Components
│ ├── Home Components
│ │ ├── Banner.jsx
│ │ ├── Carousel.jsx
│ │ ├── DidYouKnow.jsx
│ │ ├── FAQ.jsx
│ │ ├── Testimonials.jsx
│ │ └── TopCategories.jsx
│ └── Main Components
│ │ ├── Footer.jsx
│ │ ├── Loader.jsx
│ │ ├── MinimalHeader.jsx
│ │ ├── Navbar.jsx
│ │ └── ThemeToggle.jsx
├── Firebase
│ └── firebase.config.js
├── Hooks
│ └── AxiosSecure.jsx
├── Layouts
│ ├── Home.jsx
│ └── Root.jsx
├── Pages
│ ├── Home Pages
│ │ ├── AddBook.jsx
│ │ ├── AllBooks.jsx
│ │ ├── AllCategories.jsx
│ │ └── BorrowedBooks.jsx
│ └── Other Pages
│ │ ├── BookDetails.jsx
│ │ ├── CategoryBooks.jsx
│ │ ├── Error.jsx
│ │ ├── ForgetPass.jsx
│ │ ├── Login.jsx
│ │ ├── Profile.jsx
│ │ ├── Register.jsx
│ │ └── UpdateBook.jsx
├── Provider
│ ├── AuthProvider.jsx
│ └── Private.jsx
├── Routes
│ └── Route.jsx
├── assets
│ ├── Animations
│ │ ├── Animation - 6.json
│ │ ├── Animation - Error.json
│ │ ├── Anime -1.json
│ │ ├── Anime -2.json
│ │ ├── Anime -3.json
│ │ ├── Anime -4.json
│ │ └── Anime -5.json
│ ├── Fonts
│ │ ├── OdenaGlamour-BF6625f66aead7f.otf
│ │ └── Qyore.otf
│ ├── LibraRyk Logo.png
│ └── react.svg
├── index.css
└── main.jsx
├── tailwind.config.js
└── vite.config.js