About Person Search
OAuth-secured demonstration showcasing Next.js, React, Auth.js, and modern web technologies
Person Search is an OAuth-secured demonstration project showcasing the power of Next.js, React, Auth.js, and modern web technologies. It provides a secure, user-authenticated interface for searching and managing person information with full CRUD operations.
This project utilizes Next.js 15 with the App Router, React 19, TypeScript, Auth.js (NextAuth v5), Prisma ORM, and PostgreSQL to create a responsive, secure, and accessible user experience.
Key features include Google OAuth authentication, protected routes, server-side session management, asynchronous search functionality, database-backed CRUD operations, and a dark mode toggle for user comfort.
This application implements a robust authentication system using Auth.js (NextAuth v5) with Google OAuth 2.0 as the identity provider. The architecture ensures that all Person CRUD operations are protected behind authentication, providing a secure user experience.
Authentication Flow:
- User navigates to the application
- Middleware checks for valid session
- If unauthenticated, redirects to Google OAuth sign-in
- User authorizes the application via Google
- Session is created and stored in PostgreSQL database
- User gains access to Person Search and CRUD operations
Security Features:
- Protected Routes: Middleware enforces authentication on sensitive pages
- Session Management: Database-backed sessions with automatic expiration
- Secure Credentials: Environment variables for all sensitive configuration
- OAuth 2.0: Industry-standard authentication protocol
- Prisma ORM: Type-safe database queries with SQL injection prevention
Learn more: Visit the Auth Setup, Security, and Database pages for detailed documentation.
This application exposes a Model Context Protocol (MCP) integration that allows external AI agents (for example, Claude Desktop) to perform Person CRUD operations against the same database used by the app.
How it works:
- Start a local MCP server (or use the deployed MCP endpoint).
- Configure Claude Desktop to attach to the MCP server (instructions under
/mcp-setup). - Send natural-language commands to create, read, update, or delete Person records; the MCP server executes them via Prisma.
Original Project: Created by Callum Bir
Enhanced For: ECA Tech Bootcamp — AusBiz Consulting
Enhancements Include: MCP integration, local server implementation, refactored component architecture, comprehensive documentation, and Week 4 deliverables.
Original Author - Callum Bir
Callum Bir is the original creator of this Person Search application, demonstrating expertise in Next.js, React, and modern frontend development. This project serves as an excellent foundation for learning OAuth authentication and full-stack development.
Enhanced Version - ECA Bootcamp Project
This enhanced version was developed as part of the ECA Tech Bootcamp curriculum provided by AusBiz Consulting. Additional features include Model Context Protocol (MCP) integration, local MCP server implementation, reusable component architecture, and comprehensive setup documentation.