Skip to content

salamon30/bookShelfGenious

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

BookshelfGenius

TypeScript React Vite Chakra UI License

A full-featured library management frontend built with React, TypeScript, and Chakra UI. Browse books, filter by genre and author, borrow and return titles, leave comments, and manage user accounts — all in a clean, responsive interface.

Backend: Pairs with library-java — a Spring Boot REST API.


Features

Feature Description
Book catalogue Browse all available books with cover images and metadata
Search Real-time search by title or author
Genre & author filters Sidebar filter panel — select a genre or author to narrow results
Borrow / Return Borrow available books and return them when done
Book detail page Full book info + user comments
Comment system Add comments to any book
User page View borrowed books and account details
Sign-up New user registration

Tech Stack

Layer Technology
Framework React 18
Language TypeScript
Build tool Vite
UI library Chakra UI
Routing React Router v6
State React hooks (useState, useEffect)
Data fetching Custom hooks (useBooks, useGenres, useAuthors)

Quick Start

# 1. Clone
git clone https://github.com/salamon30/bookShelfGenious.git
cd bookShelfGenious/BookshelfGenius-feature-borrowed-books

# 2. Install dependencies
npm install

# 3. Start the dev server
npm run dev
# → http://localhost:5173

Make sure the library-java backend is running on http://localhost:8080 before starting the frontend.


Project Structure

src/
├── App.tsx              # Root layout — NavBar, GenreList, AuthorList, BookGrid
├── components/
│   ├── NavBar.tsx       # Search bar + navigation
│   ├── BookGrid.tsx     # Responsive book card grid
│   ├── BookPage.tsx     # Book detail + comments
│   ├── GenreList.tsx    # Genre filter sidebar
│   ├── AuthorList.tsx   # Author filter sidebar
│   ├── SignUpPage.tsx   # User registration form
│   └── UserPage.tsx     # Borrowed books + account info
└── hooks/
    ├── useBooks.ts      # Fetch and manage book state
    ├── useGenres.ts     # Genre data
    └── useAuthors.ts    # Author data

Author

Recep Uzun — AI Master's Student @ Deggendorf Institute of Technology

LinkedIn GitHub

About

Library management frontend — React, TypeScript, Chakra UI. Browse, search, borrow and return books

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages