{"id":29431908,"url":"https://github.com/unni8230/bookhub","last_synced_at":"2026-04-15T14:32:59.229Z","repository":{"id":302471855,"uuid":"1012565541","full_name":"Unni8230/BookHub","owner":"Unni8230","description":"BookHub is a responsive React web app that lets users explore books by category, search titles, and view detailed info—all powered by JWT authentication and dynamic API integration.","archived":false,"fork":false,"pushed_at":"2025-07-02T15:19:16.000Z","size":196,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T15:39:49.176Z","etag":null,"topics":["javascript","jwt-authentication","mern-stack","react","react-router","responsive-design","rest-api","styled-components"],"latest_commit_sha":null,"homepage":"http://unnibookhub.ccbp.tech","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Unni8230.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-02T14:23:00.000Z","updated_at":"2025-07-02T15:24:09.000Z","dependencies_parsed_at":"2025-07-02T15:41:30.125Z","dependency_job_id":"b7e35163-82be-4131-a92d-61a675ab2c27","html_url":"https://github.com/Unni8230/BookHub","commit_stats":null,"previous_names":["unni8230/bookhub"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Unni8230/BookHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unni8230%2FBookHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unni8230%2FBookHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unni8230%2FBookHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unni8230%2FBookHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Unni8230","download_url":"https://codeload.github.com/Unni8230/BookHub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unni8230%2FBookHub/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265054251,"owners_count":23704245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","jwt-authentication","mern-stack","react","react-router","responsive-design","rest-api","styled-components"],"created_at":"2025-07-12T21:01:21.407Z","updated_at":"2026-04-15T14:32:59.186Z","avatar_url":"https://github.com/Unni8230.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 BookHub\n[![Live Site](https://img.shields.io/badge/Live%20Site-unnibookhub.ccbp.tech-blue)](http://unnibookhub.ccbp.tech)\n\n**BookHub** is a responsive React-based web application that fetches and displays books from an external API. Users can browse books by category, search for specific titles, and view detailed information—all within a clean, intuitive UI.\n\n![React](https://img.shields.io/badge/React-18-blue?logo=react)\n![MERN Stack](https://img.shields.io/badge/MERN-Full%20Stack-blueviolet?logo=mongodb)\n![Status](https://img.shields.io/badge/status-Active-brightgreen)\n\n---\n\n## 🚀 Features\n\n- 🔐 **Login Authentication** with JWT\n- 📚 **Bookshelves View** categorized by genres\n- 🔍 **Search Functionality** to find books by title\n- 📄 **Book Details Page** with cover, author, rating, and description\n- 🔄 **API Integration** to fetch book data dynamically\n- 💅 **Responsive Design** for mobile and desktop\n\n---\n\n## 🛠️ Tech Stack\n\n| Tool             | Purpose                            |\n|------------------|------------------------------------|\n| React            | Front-end UI framework             |\n| React Router DOM | Client-side routing                |\n| JWT              | Authentication token handling      |\n| REST API         | Fetching book data                 |\n| CSS              | Styling and layout                 |\n\n---\n\n## 📂 Folder Structure\n\n```\nsrc/\n├── components/       # Reusable UI components\n├── App.js            # Main app and routing logic\n├── index.js          # Entry point\n├── App.css           # Global styles\n└── setupTests.js     # Test configuration\n```\n\n---\n\n## ⚙️ Getting Started\n\n```bash\n# Clone the repo\ngit clone https://github.com/Unni8230/BookHub.git\n\n# Navigate into the project\ncd BookHub\n\n# Install dependencies\nnpm install\n\n# Start the development server\nnpm start\n```\n\n\u003e 🛠 If you're using Node.js v17+, run:\n\u003e ```bash\n\u003e export NODE_OPTIONS=--openssl-legacy-provider\n\u003e ```\n\n---\n## 🔐 Demo Credentials\n\nUse the following credentials to explore the app:\n\n- **Username:** rahul  \n- **Password:** rahul@2021\n\n\u003e These credentials are for demo purposes only and provide access to the full app experience.\n---\n## 📸 Screenshots\n\n### 🔐 Login Page (Desktop)\n![Login](https://res.cloudinary.com/dyareetre/image/upload/v1751468007/Bookhub_Login_bqsihn.png)\n\n### 🔐 Login Page (Mobile)\n![Login](https://res.cloudinary.com/dyareetre/image/upload/v1751468006/Bookhub_Login_sm_me9icm.png)\n\n### 📱 Home Page (Desktop)\n![Home](https://res.cloudinary.com/dyareetre/image/upload/v1751468006/Bookhub_Home_s0gpu2.png)\n\n### 📱 Home Page (Mobile)\n![Home](https://res.cloudinary.com/dyareetre/image/upload/v1751468006/Bookhub_Home_sm_ocqydu.png)\n\n### 📚 Bookshelf Page\n![Bookshelves](https://res.cloudinary.com/dyareetre/image/upload/v1751468006/Bookhub_shelf_m4wfgq.png)\n\n### 📖 Book Item Details Page\n![BookDetails](https://res.cloudinary.com/dyareetre/image/upload/v1751468006/Bookhub_Item_lqttoa.png)\n\n---\n\n## 🔐 Authentication Flow\n\n- Users must log in to access the main app\n- JWT is stored securely and validated on protected routes\n- Unauthenticated users are redirected to the login page\n\n---\n\n## 🙌 Credits\n\nBuilt with ❤️ by [Unni](https://github.com/Unni8230) as part of a React learning journey. Inspired by the love for books and clean UI design.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funni8230%2Fbookhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funni8230%2Fbookhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funni8230%2Fbookhub/lists"}