GitHub Repository
View the complete source code and OAuth implementation
Original Project: Forked from Callum Bir's Person Search application
Enhanced For: ECA Tech Bootcamp (AusBiz Consulting) — Week 4 MCP Integration
Repository Information
OAuth-secured Person Search application
person-search
Next.js 15 + Auth.js + Prisma + PostgreSQL
Branch
next15
Framework
Next.js 15.5.6
Key Implementation Files
Core application source code and configuration
auth.tsAuth.js configurationmiddleware.tsRoute protectionapp/api/auth/[...nextauth]/route.tsAPI handlerprisma/schema.prismaDatabase schema (Person & Auth models)app/actions/actions.tsServer Actions for CRUD operationsapp/components/user-menu.tsxUser session UIlib/prisma.tsPrisma client singletonTech Stack
Technologies used in this project
Frontend:
- • Next.js 15 (App Router)
- • React 19
- • TypeScript 5
- • Tailwind CSS
- • shadcn/ui Components
Backend:
- • Auth.js (NextAuth v5)
- • Prisma ORM
- • PostgreSQL (Neon)
- • Server Actions
- • Zod Validation
Features Implemented
- Google OAuth 2.0 authentication with Auth.js
- Protected routes with middleware authentication
- Full CRUD operations for Person management
- Database-backed session management with Prisma
- PostgreSQL database with Neon serverless hosting
- Responsive UI with dark mode support
- Form validation with Zod schemas
- Comprehensive security implementation
- Built-in documentation pages (/about, /auth-setup, /security, /database, /github)
- Model Context Protocol (MCP) server integration
- Local MCP server with Prisma direct database access
- Reusable component architecture (PageHeader, SectionCard, etc.)
- Database schema documentation with complete Prisma models
Project Attribution
Credits and acknowledgments
Original Author:
Callum Bir — Created the foundational Person Search application with OAuth authentication
Enhanced Version:
ECA Tech Bootcamp Project (AusBiz Consulting) — Added MCP integration, local server, component refactoring, and comprehensive documentation
Deployment
Production hosting and configuration
Production Environment
Platform: Vercel (optimized for Next.js)
Database: Neon PostgreSQL (serverless)
Environment: Production environment variables configured
SSL: Automatic HTTPS encryption