About Person Search

OAuth-secured demonstration showcasing Next.js, React, Auth.js, and modern web technologies

Project Overview

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.

Authentication Architecture

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.

MCP Integration

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.

To get started quickly, visit the MCP Setup page and then the MCP Demo page to see example interactions.

About the Project

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.

Back to Home