A modern, feature-rich Digital Library & Social Reading Platform built with React, designed for smooth book discovery, personal tracking, reviews, and an interactive reading community.
- π Book Discovery β Search & browse millions of books
- π Digital Library β Personal bookshelf + progress tracking
- β Smart Reviews β Ratings + detailed review system
- π Google Books API Search
- π± Fully Responsive UI
- π Encrypted password hashing
- π Encrypted local storage
- Node.js 14+
- npm or yarn
# Clone the repository
git clone https://github.com/yourusername/bookhub.git
# Go to directory
cd bookhub
# Install dependencies
npm install
# Start development server
npm start
# Build for production
npm run buildCreate .env in the root:
REACT_APP_GOOGLE_BOOKS_API_KEY=your_api_key
REACT_APP_NAME=BookHub
- Create your account
- Discover trending & recommended books
- Add books to your library
- Track reading progress (with percentage)
- Submit reviews, ratings, and vibe checks
Default Admin Login
Username: Neurix
Password: Neurix@7217secure
Security Code: PasswordHighzacked
Admin capabilities:
- User management
- Review & content moderation
- System analytics dashboard
- One-click Add to Library
- Progress tracking with progress bars
- Multiple reading formats
- 1β5 star rating slider
- Google Books API
- Genre filters (Indian classics, fiction, etc.)
- Real-time search suggestions
const searchBooks = async (query) => {
const response = await fetch(
`https://www.googleapis.com/books/v1/volumes?q=${query}&key=API_KEY`
);
return response.json();
};- 30-minute session timeout
- Lock account after 5 wrong login attempts
- Encrypted local storage
- Sanitized user inputs
- Brute-force detection
Built mobile-first with:
- Flexible grid layout
- Touch-friendly UI
- Works on all devices (mobile/tablet/desktop)
| Command | Description |
|---|---|
npm start |
Start dev server |
npm run build |
Production build |
npm test |
Run tests |
npm run eject |
Eject CRA |
- Component-based structure
- Clean naming & reusable components
- Fork the repository
- Create a branch
- Commit with meaningful messages
- Push changes
- Open a Pull Request
- Follow code style
- Comment complex logic
- Add tests if needed
- Update docs for major changes
- API Errors β Check your Google Books API key
- Build Errors β Delete
node_modulesand reinstall - Slow Performance β Inspect browser console
localStorage.setItem('debug', 'true');
Licensed under the MIT License.
- Google Books API
- React Community
- Font Awesome
- Tailwind CSS
- π§ Email: jonsnower07@gmail.com