waveform/README.md

2.4 KiB

Waveform

A modern, high-performance real-time chat application, designed for seamless communication.

Next.js React TypeScript Tailwind CSS Auth.js Drizzle ORM PostgreSQL

🛠️ Tech Stack

📂 Architecture & Structure

The project uses Next.js Route Groups without a src/ directory to maintain a clean root layout:

  • app/(app)/ — Application routes (Layout, Home, Components)
  • app/(auth)/ — Public authentication routes (Login, Register)
  • app/api/ — Backend API endpoints & Auth handlers ([...nextauth])
  • components/ — Modular UI components (Chat, Navigation, Sidebars)
  • db/ — Database schema definitions, migrations, and Drizzle configuration (drizzle.config.ts)
  • lib/ — Centralized core logic folder containing:
    • stores/ — State management stores
    • schemas/ — Zod validation schemas
    • types/ — Global TypeScript interfaces and type definitions
    • services/ — Business logic layers and external API integration services
  • public/ — Static assets (images, icons, fonts)

🎯 Current Status

In Progress — Application scaffold initialized with Next.js 16, React 19, Tailwind CSS v4, and TypeScript. Database layer fully set up with PostgreSQL and Drizzle ORM schemas, full authentication (Auth.js v5). DevOps infrastructure will be implemented in subsequent phases.