BookWise

A production-grade library system with email automation, enterprise security, and seamless user experience.

Next.jsNextAuthNeon PostgreSQLDrizzle ORMUpstash RedisQStash
Smart Library
Admin Page
Email Automation
Enterprise Security
01

Library Experience

An intuitive interface designed for seamless book discovery, borrowing, and management with real-time availability tracking.

Next.jsNextAuth.jsDrizzleImageKit

Smart Search

Full-text search with filters for genre, author, and availability status.

Book Borrowing

One-click borrowing with automatic due date assignment and notifications.

Easy Returns

Streamlined return process with overdue tracking .

Eligibility Check

Real-time verification of borrowing limits and account standing.

BookWise library interface showing book catalog
Many Books Available
Admin dashboard with user managementBook management interfaceAdmin dashboard with user managementAdmin dashboard with user managementAdmin dashboard with user managementAdmin dashboard with user management
Admin Only
02

Admin Dashboard

Complete administrative control with role-based access, user approval workflows, and comprehensive book inventory management.

Protected RoutesImageKitServer Actions

User Management

Approve, revoke, or manage user accounts with detailed activity logs.

Access Control

Role-based permissions with admin-only routes and middleware protection.

Inventory Control

Add, edit, or remove books with cover uploads and metadata management.

Recipt

Generate recipts for each Borrowing.

03

Email Automation

Intelligent notification system with scheduled workflows, ensuring users stay informed about their library activities.

NodemailerUpstash QStashBackground Jobs

Welcome Emails

Automated onboarding emails on user registration and account approval.

Sign-in Alerts

Security notifications for new sign-ins with device and location info.

Due Date Reminders

Scheduled reminders 2 days before and on the due date of borrowed books.

Overdue Notices

Automatic Email Send on Overdue

Workflow Pipeline

1
Trigger
2
QStash
3
Process
4
WorkflowStart
5
SendEmail
Email automation dashboardEmail templates and workflowEmail templates and workflowEmail templates and workflow
99.9%
Delivery Rate
Security dashboard with rate limiting and threat monitoring
Protected
All systems secure
04

Security & Protection

Enterprise-grade security with intelligent abuse prevention, ensuring system stability and protecting against malicious actors.

Upstash RedisRate LimitingIP Blocking

Rate Limiting

IP-based request throttling to prevent API abuse and DDoS attacks.

Temporary Bans

Automatic temporary blocks for suspicious activity patterns.

Force Routing

Force routing to too-fast .

Secure Sessions

JWT-based authentication with secure cookie handling with NextAuth.

99.9%
Uptime
<50ms
Latency
0
Breaches
05

System Architecture

A modular, scalable architecture built for production workloads with clear separation of concerns.

Client Layer

  • Next.js 15 App Router
  • React Server Components
  • NextAuth.js Sessions

API Layer

  • Server Actions
  • API Routes
  • Middleware Protection

Service Layer

  • Upstash QStash
  • Nodemailer
  • Background Jobs

Data Layer

  • Neon PostgreSQL
  • Drizzle ORM
  • Type-safe Queries

Cache Layer

  • Upstash Redis
  • Session Storage
  • Rate Limit State

Security Layer

  • JWT Tokens
  • NextAuth.js Sessions
  • IP Blocking

Complete Tech Stack

Next.js TypeScriptNextAuth.jsNeon PostgreSQLDrizzle ORMUpstash RedisUpstash QStashImageKitNodemailerTailwind CSSShadcn/ui
Extended from Tutorial

Built Beyond the Basics

This project is a continuation from a YouTube tutorial. The free version only covered the user-side library and NextAuth integration.Below Funtions are implemented By me.

Admin Dashboard

Complete admin panel with user management and book controls

Email Workflows

Automated email system with QStash background jobs

Overdue Notifications

Smart reminder emails for overdue book returns

Want to explore the admin panel?

Sign in with these credentials to gain admin access:

Email:10@10.com
Password:1234567890

Ready to explore?

Dive into the source code or get in touch to discuss the implementation.

DevSync — Built for developers, by me.

© 2026. All rights reserved.