A modern web application for managing your personal book collection. Libro allows users to search for books, create libraries, write reviews, and track their reading progress.
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite
- UI Components:
- Radix UI for accessible components
- shadcn/ui for styled components
- TailwindCSS for styling
- State Management: React Query
- Form Handling: React Hook Form with Zod validation
- Routing: React Router DOM
- Testing: Vitest with React Testing Library
- Database & Auth: Supabase
- User authentication
- Book data storage
- Reviews system
- User libraries
- External APIs:
- Google Books API for book search and metadata
- Book cover image storage in Supabase Storage
- Clone the repository
- Copy
.env.exampleto.envand fill in required environment variables - Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:5173 in your browser
The project uses Vitest for testing. Available test commands:
# Run tests in watch mode
npm test
# Run tests with coverage report
npm run test:coverage
# Run tests with UI
npm run test:uiThe project includes a memory bank system that documents:
- Architecture & Services: Documentation of service layer patterns and responsibilities
- Database Schemas: Database structure and relationships
- Project Conventions: Coding standards and patterns
- CI/CD Workflows: Deployment and integration procedures
- Database Migrations: Schema evolution history
Memory bank documentation can be found in the memory_bank/ directory:
facts/: Architecture and implementation detailsprocedures/: Workflows and processesrules/: Project conventions and guidelinesschemas/: Database and type definitions