https://github.com/mehedi752/edushelf-client
Welcome to EduShelf, a comprehensive Library Management System designed to make borrowing and managing books easier and more efficient. With a seamless user experience and powerful admin tools, EduShelf simplifies library operations
https://github.com/mehedi752/edushelf-client
express firebase html5 javascript jwt-authentication mongodb node react tailwind-css
Last synced: 3 months ago
JSON representation
Welcome to EduShelf, a comprehensive Library Management System designed to make borrowing and managing books easier and more efficient. With a seamless user experience and powerful admin tools, EduShelf simplifies library operations
- Host: GitHub
- URL: https://github.com/mehedi752/edushelf-client
- Owner: Mehedi752
- Created: 2025-01-13T02:48:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T18:41:56.000Z (over 1 year ago)
- Last Synced: 2026-01-03T12:28:08.792Z (6 months ago)
- Topics: express, firebase, html5, javascript, jwt-authentication, mongodb, node, react, tailwind-css
- Language: JavaScript
- Homepage: https://assignment---11-21024.web.app
- Size: 47.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π EduShelf - Library Management System
Welcome to **EduShelf**, a comprehensive **Library Management System** designed to make borrowing and managing books easier and more efficient. With a seamless user experience and powerful admin tools, EduShelf simplifies library operationsπ
---
## **β¨ Core Features**
### **π Book Catalog**
- Browse and filter books by category, title, author, and rating.
- View detailed book descriptions with images and ratings.
### **π Borrow & Return Books**
- Users can borrow books, with records maintained in the system.
- Return borrowed books, updating the inventory instantly.
### **π οΈ User Panel**
- Users can **add, update, and delete** book details.
- Track the statistics of borrowed and returned books.
### **π Secure Authentication**
- Private routes protect important pages like borrowing and returning books.
- User authentication ensures a secure experience.
### **π± Fully Responsive Design**
- Optimized for desktops, tablets, and mobile devices.
### **π¨ Interactive Animations**
- Engaging animations powered by **Framer Motion**.
---
## **π Live Demo**
[EduShelf - Live Website](https://assignment---11-21024.web.app)
---
## **π Tech Stack**
### **Frontend:**
- React.js
- Tailwind CSS
- Daisy UI
- React Router
- React Toastify (Notifications)
- Framer Motion (Animations)
### **Backend:**
- Node.js
- Express.js
- MongoDB
- Firebase & JWT for Authentication
- Cors & Cookie Parser
### **Additional Tools:**
- Axios for API requests
- Sweet Alert for user-friendly popups
- Chart.js for data visualization (admin statistics)
---
## **π¦ Dependencies**
### **Frontend Dependencies (`client/package.json`)**
- `react`
- `react-router-dom`
- `tailwindcss`
- `daisyui`
- `react-toastify`
- `axios`
- `firebase`
- `react-icons`
- `framer-motion`
### **Backend Dependencies (`server/package.json`)**
- `express`
- `cors`
- `dotenv`
- `jsonwebtoken`
- `bcryptjs`
- `mongoose`
- `cookie-parser`
- `nodemon` (devDependency)
---
## **π» Running the Project Locally**
Follow these steps to set up **EduShelf** on your local machine.
### **1οΈβ£ Clone the Repository**
```bash
git clone https://github.com/your-username/edushelf.git
cd edushelf
```
### **2οΈβ£ Setup the Backend**
```bash
cd server
npm install # Install backend dependencies
```
#### **Configure `.env` File for Backend**
Create a `.env` file inside the `server/` directory and add:
```
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:5173
```
#### **Start the Backend Server**
```bash
npm run dev # Runs the server with nodemon
```
---
### **3οΈβ£ Setup the Frontend**
```bash
cd ../client
npm install # Install frontend dependencies
```
#### **Configure `.env` File for Frontend**
Create a `.env` file inside `client/` and add:
```
VITE_API_URL=http://localhost:5000
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_PROJECT_ID=your_firebase_project_id
```
#### **Start the Frontend**
```bash
npm run dev # Runs the React frontend
```
Now, open **http://localhost:5173/** in your browser to see **EduShelf** in action! π
---
## **π οΈ Contributing**
We welcome contributions! Follow these steps to contribute:
1. **Fork** the repository.
2. **Create a feature branch** (`git checkout -b feature-name`).
3. **Commit your changes** (`git commit -m "Added new feature"`).
4. **Push to your branch** (`git push origin feature-name`).
5. **Create a Pull Request**.
---
## **π License**
This project is **open-source** and licensed under the **MIT License**.
---