{"id":29630980,"url":"https://github.com/devsafix/library-management-client","last_synced_at":"2025-07-21T11:07:50.724Z","repository":{"id":302802975,"uuid":"1012272261","full_name":"devsafix/library-management-client","owner":"devsafix","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-04T09:30:59.000Z","size":256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-04T10:31:28.962Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://booknest-by-safi.vercel.app","language":"TypeScript","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/devsafix.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-02T04:57:43.000Z","updated_at":"2025-07-04T09:31:03.000Z","dependencies_parsed_at":"2025-07-04T10:33:26.684Z","dependency_job_id":"5f0eed45-a4db-4eed-a220-2a591d7f5029","html_url":"https://github.com/devsafix/library-management-client","commit_stats":null,"previous_names":["devsafix/library-management-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devsafix/library-management-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsafix%2Flibrary-management-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsafix%2Flibrary-management-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsafix%2Flibrary-management-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsafix%2Flibrary-management-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsafix","download_url":"https://codeload.github.com/devsafix/library-management-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsafix%2Flibrary-management-client/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266287824,"owners_count":23905461,"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":[],"created_at":"2025-07-21T11:07:49.588Z","updated_at":"2025-07-21T11:07:50.715Z","avatar_url":"https://github.com/devsafix.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 Library Management System (Client)\n\nA minimal library management frontend built with **React**, **TypeScript**, **Redux Toolkit Query**, and **Tailwind CSS**. This system allows users to manage books, borrow them, and view borrowing summaries — all with a clean and responsive user interface.\n\n---\n\n## 🚀 Features\n\n- 🔍 View all books in a sortable, filterable table.\n- ➕ Add new books with validation.\n- ✏️ Edit book details and automatically update availability.\n- ❌ Delete books with confirmation.\n- 📖 Borrow books with quantity control and due date.\n- 📊 View borrow summary (aggregated view of total borrowed copies).\n- ✅ Optimistic UI updates and toast notifications.\n- 📱 Fully responsive design for mobile, tablet, and desktop.\n\n---\n\n## 🧰 Tech Stack\n\n| Layer             | Technology                      |\n|------------------|----------------------------------|\n| Frontend         | React + Vite + TypeScript        |\n| State Management | Redux Toolkit + RTK Query        |\n| Styling          | Tailwind CSS + ShadCN UI         |\n| Routing          | React Router DOM (Data mode)     |\n| Notifications    | React Hot Toast                  |\n| API              | REST API (connected to Express)  |\n\n---\n\n## 🗂️ Folder Structure\n\n```\n\nsrc/\n├── components/         # Reusable UI components (layout, dialog, tables)\n├── modules/            # Feature-specific UI pieces\n├── pages/              # Page-level components (Books, CreateBook, etc.)\n├── redux/\n│   ├── api/            # RTK Query API services\n│   ├── hooks.ts        # Custom typed hooks\n│   └── store.ts        # Redux store config\n├── routes/             # React Router layout \u0026 route config\n├── types/              # TypeScript interfaces/types\n├── lib/                # Utility/helper functions\n├── App.tsx\n├── main.tsx\n└── index.css\n\n````\n\n---\n\n## 🔧 Getting Started\n\n### 1️⃣ Prerequisites\n\n- [Node.js](https://nodejs.org/) (v16+)\n- Backend API (running on `http://localhost:5000/api/`)\n- `npm` or `pnpm`\n\n---\n\n### 2️⃣ Installation\n\n```bash\n# Clone the project\ngit clone https://github.com/devsafix/library-management-client.git\ncd library-client\n\n# Install dependencies\nnpm install\n# or\npnpm install\n````\n\n---\n\n### 3️⃣ Start the Development Server\n\n```bash\nnpm run dev\n# or\npnpm dev\n```\n\nThe app will run at: [http://localhost:5173](http://localhost:5173)\n\n---\n\n## ✅ Bonus Features Implemented\n\n* [x] Optimistic UI updates\n* [x] Toast notifications\n* [x] Responsive layout\n* [x] Type-safe forms\n* [x] RTK Query for all API interactions\n\n---\n\n## 🙌 Acknowledgements\n\n* [Redux Toolkit Docs](https://redux-toolkit.js.org/)\n* [RTK Query](https://redux-toolkit.js.org/rtk-query/overview)\n* [ShadCN UI](https://ui.shadcn.com/)\n* [Tailwind CSS](https://tailwindcss.com/)\n\n---\n\n## 📬 Contact\n\nFor any questions or issues:\n\n## Author\n\n**Kawser Ferdous Safi** – [devsafix.vercel.app](https://devsafix.vercel.app)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsafix%2Flibrary-management-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsafix%2Flibrary-management-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsafix%2Flibrary-management-client/lists"}