33 lines
2 KiB
Markdown
33 lines
2 KiB
Markdown
# Waveform
|
|
|
|
A modern, high-performance real-time chat application, designed for seamless communication.
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
## 🛠️ Tech Stack
|
|
|
|
- **Framework:** [Next.js 16](https://nextjs.org/) (App Router, Route Groups)
|
|
- **UI & Styling:** [React 19](https://react.dev/), [Tailwind CSS v4](https://tailwindcss.com/)
|
|
- **Database & ORM:** [PostgreSQL](https://www.postgresql.org/) managed via [Drizzle ORM](https://orm.drizzle.team/) & Drizzle Kit (Studio included)
|
|
- **Authentication:** [Auth.js v5 (NextAuth)](https://authjs.dev/) with Credentials Provider & bcrypt hashing _(planned)_
|
|
- **DevOps & Infrastructure:** Docker & Docker Compose, Caddy Reverse Proxy, Forgejo Actions _(planned)_
|
|
|
|
## 📂 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)
|
|
- `components/` — Modular UI components (Chat, Navigation, Sidebars)
|
|
- `db/` — Database schema definitions, migrations, and Drizzle configuration (`drizzle.config.ts`)
|
|
- `lib/` — Centralized core logic folder containing:
|
|
- `store/` — State management stores
|
|
- `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. Authentication and DevOps infrastructure will be implemented in subsequent phases.
|