BookLib is a web application that allows users to share and explore their favorite books with others. Built with the MERN stack, JWT authentication, Zustand for state management, and styled using Tailwind CSS, BookLib provides a seamless and visually appealing platform for book enthusiasts.
Live Demo: https://booklib-m5en.onrender.com
- User Authentication: Secure login and signup using JWT for authentication.
- Personalization: Users can add, edit, and delete their favorite books.
- Discover Favorites: Browse through books added by other users.
- Search Functionality: Quickly find books or users based on keywords.
- Responsive Design: Optimized for both desktop and mobile devices using Tailwind CSS.
- Real-time Updates: Zustand ensures a reactive and fluid user experience.
- React + Vite: Component-based UI development.
- Zustand: Lightweight and flexible state management.
- Tailwind CSS: Utility-first CSS framework for rapid UI design.
- Node.js: Server-side JavaScript runtime.
- Express.js: Backend framework for building APIs.
- MongoDB: NoSQL database for storing user and book data.
- JWT (JSON Web Tokens): Secure token-based authentication.
Make sure you have the following installed:
- Node.js
- npm or yarn
- MongoDB
-
Clone the repository:
git clone https://github.com/prinsipekumar/BookLib.git cd BookLib -
Install dependencies for both frontend and backend:
npm install cd frontend npm install -
Configure environment variables:
Create a
.envfile in theserverdirectory with the following variables:PORT = 5000 MONGO_URI=your_mongodb_uri CLIENT_URL=http://localhost:5173 SECRET=your_random_secret CLOUD_NAME=cloudinary_cloud_name API_KEY=cloudinary_apikey API_SECRET=cloudinary_apisecret
-
Start the development servers:
- Backend/Root:
nodemon backend/server.js
- Frontend:
cd frontend npm run dev
- Backend/Root:
-
Open your browser and visit
http://localhost:5173to access BookLib.