A modern digital library web application where users can browse and read books for free without authentication. Built with a clean, SaaS-inspired design.
- Browse Books: Explore books by category, popularity, or recent additions
- Search Functionality: Search across titles, authors, and descriptions
- Reading Experience: Clean, distraction-free reading interface
- Progress Tracking: Automatic reading progress saves and statistics
- No Authentication: Completely free access without registration
- Modern Design: SaaS dashboard-inspired UI with custom branding
- React 18 with TypeScript
- Vite for fast development and optimized builds
- shadcn/ui components built on Radix UI
- Tailwind CSS for styling
- TanStack Query for server state management
- Wouter for lightweight routing
- Express.js with TypeScript
- PostgreSQL database with Drizzle ORM
- Neon serverless PostgreSQL driver
- RESTful API design
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route pages
│ │ ├── lib/ # Utilities and configurations
│ │ └── hooks/ # Custom React hooks
├── server/ # Backend Express application
│ ├── index.ts # Server entry point
│ ├── routes.ts # API route definitions
│ ├── storage.ts # Database operations
│ └── db.ts # Database configuration
├── shared/ # Shared types and schemas
│ └── schema.ts # Drizzle schema definitions
└── attached_assets/ # Static assets including logo
GET /api/books- Get all booksGET /api/books/popular- Get popular booksGET /api/books/recent- Get recently added booksGET /api/books/search?q={query}- Search booksGET /api/books/category/{category}- Get books by categoryGET /api/books/{id}- Get specific bookPOST /api/reading-progress- Update reading progressGET /api/reading-stats- Get reading statistics
- Comprehensive book information including title, author, category
- Cover images, descriptions, and full content
- Rating system and metadata
- Publication status (new/popular)
- Tracks user reading progress per book
- Current page, completion status
- Reading timestamps and statistics
- User authentication data (for future features)
- Node.js 20+
- PostgreSQL database
DATABASE_URL- PostgreSQL connection stringPGHOST,PGPORT,PGUSER,PGPASSWORD,PGDATABASE- Database credentials
# Install dependencies
npm install
# Push database schema
npm run db:push
# Start development server
npm run devThe application will be available at http://localhost:5000
- Literature
- Science
- Islamic Studies
- History
- Poetry
- Philosophy
- Education
- Culture
- Page-by-page navigation
- Reading progress tracking
- Adjustable font size
- Bookmark functionality
- Reading statistics and achievements
This is a personal library project by Makhdoom Wisali. The codebase follows modern React and Express.js patterns with TypeScript throughout.
Personal project - All rights reserved.