- BookShelf is a MERN stack web application where users can view, add, and explore books added by others.
- Each book displays who added it, and clicking on a book reveals its author and cover image in a modal. Authentication is required to add books.
- 🔐 User authentication (JWT-based)
- 📖 View list of books with contributor names
- 📌 Click any book to see author & cover image in a popup
- ➕ Authenticated users can add new books
- 📦 Built with React, Tailwind CSS, Node.js, Express, MongoDB
https://book-hub-seven-smoky.vercel.app/
- Frontend: React, Tailwind CSS, React Router
- Backend: Node.js, Express.js
- Database: MongoDB (with Mongoose)
- Auth: JWT, bcryptjs
BookShelf/
├── client/ # React frontend
├── server/ # Express backend
└── README.md- Fork the repo
- Clone the forked repo
git clone https://github.com/your-username/BookHub.git
cd BookHub- Setup Backend
i)
cd server
npm installii) Create a .env
PORT=5000
MONGO_URI="your-mongodb-connection-string"
JWT_SECRET="your_jwt_secret"iii) Run Server
node server.js- Setup Frontend
cd ../client npm install npm run dev
Frontend will run at http://localhost:5173
Backend at http://localhost:5000
Thank you for considering contributing to BookHub App! Whether you're fixing bugs, improving the UI, or adding new features — your contributions are highly appreciated. ❤️
Before jumping in, head over to the Issues section of this repository.
✅ I’ve already created multiple issues that are ready to be picked up.
🗨️ If you find an issue you'd like to work on, comment on it saying:
I want to work on this issue.
Then, you can start working on it. Once done, You can raise the PR for it.
✨ You’re also welcome to raise new issues if you spot a bug or have an idea for improvement — just make sure to provide enough context!
Follow these steps to contribute to the project:
-
Fork this repository by clicking the Fork button on the top right.
-
Clone your forked repo to your local machine:
git clone https://github.com/your-username/bookhub.git cd bookhub -
Create a new branch for your feature or fix:
git checkout -b your-feature-name- Make your changes in the codebase.
- Stage and commit your changes:
git add .
git commit -m "feat: meaningful commit message"- Push your branch to your GitHub fork:
git push origin your-feature-name- Raise a Pull Request from your fork to the main branch of this repo. Go to your fork on GitHub → Click Compare & pull request → Fill the PR form and submit.
- Keep pull requests focused on one issue or feature.
- Add clear and concise commit messages.
- Share screenshots or video demos for UI changes (if applicable).
Every contribution, no matter how small, brings value to this project and helps others learn. Let’s build something awesome together! 🚀
Sundaram Katare Connect on:-
- Linkedin = https://www.linkedin.com/in/sundaram-katare5/
- Twitter = https://x.com/sundaramkatare