Booklyn is a modern, high-performance e-commerce platform built for the next generation of online bookstores. It features a sleek user interface, secure payment processing, and a robust administrative backend.
- Modern Shopping Experience: Browse a curated catalog of modern literature with advanced search and real-time filtering by category and price.
- Dynamic Cart Management: A seamless, persistent shopping cart powered by Zustand for efficient state management.
- Secure Checkout: Integrated with Stripe for reliable payment processing, including automatic stock management and order verification.
- Comprehensive User Profiles: Manage shipping addresses and view detailed order history with professional, printable receipts.
- Advanced Admin Dashboard: Dedicated administrative interface for managing orders, updating delivery statuses, and viewing customer analytics.
- Responsive Design: Fully optimized for all device types, from mobile phones to high-resolution desktops.
Powerful search and filtering tools to find exactly what you're looking for.

Full-featured dashboard for order lifecycle management and delivery tracking.

User order history with real-time delivery status updates.

Transaction verification with clean, printable documentation for every purchase.

- Framework: Next.js 15 (App Router)
- Library: React 19
- Styling: Tailwind CSS 4
- State Management: Zustand
- Animations: Framer Motion
- Icons: Lucide React
- Validation: Zod + React Hook Form
- Authentication: Supabase Auth (SSR)
- Database: PostgreSQL (via Prisma ORM)
- Payments: Stripe Checkout & Webhooks
- Routing: Next.js Dynamic Routes
- Node.js 20 or later
- A Supabase account
- A Stripe account
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/yourusername/booklyn.git cd booklyn -
Install dependencies:
npm install
-
Configure Environment Variables: Create a
.envfile in the root directory and add your credentials:DATABASE_URL= DIRECT_URL= NEXT_PUBLIC_SUPABASE_URL= NEXT_PUBLIC_SUPABASE_ANON_KEY= NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY= STRIPE_SECRET_KEY= NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= STRIPE_WEBHOOK_SECRET= ADMIN_EMAIL=
-
Initialize the Database:
npx prisma db push npm run seed
-
Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the application in action.
- Environment-based Admin Access: Administrative privileges are managed via secure environment variables.
- Type-Safe Database Operations: Full Prisma integration ensures data integrity and type safety across the entire stack.
- Asynchronous Data Patterns: Fully compliant with Next.js 15 requirements for asynchronous parameter and search handling.
