A personal digital bookshelf for storing and reading favorite novels.
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for utility-first styling
- shadcn/ui for beautifully designed, accessible components
- React Router for client-side routing
- Framer Motion for smooth animations
- Biome for linting and formatting
- Custom components and utilities for enhanced UI/UX
- EPUB reader functionality
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm run dev
npm run dev
: Start the development servernpm run build
: Build the production-ready applicationnpm run lint
: Run Biome linternpm run preview
: Preview the built applicationnpm run generate-novels
: Generate the novel list from EPUB files
src/
: Source filescomponents/
: Reusable React componentslayout/
: Layout components (Header, Footer, Layout)pages/
: Page componentslib/
: Utility functionsutils/
: Helper functions
public/
: Static assetsnovels/
: EPUB files and cover images
This project includes several custom components to enhance the reading experience:
- Novel Viewer: A custom EPUB reader component
- Novel List: A grid display of available novels
- Gradual Spacing Text Animation
- Tailwind CSS configuration:
tailwind.config.js
- Biome configuration:
biome.json
- TypeScript configuration:
tsconfig.json
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.