No description
Find a file
Chneemann f3378796bb
All checks were successful
Deploy Flowstate to VPS / deploy (push) Successful in 51s
feat(ui): extract drop zone styles into reusable DropActionButton component and rename ActionDropZones to DropZones
2026-08-28 10:01:13 +02:00
.forgejo/workflows fix(ci): fix yaml indentation in deployment workflow configuration 2026-08-22 07:31:17 +02:00
app feat(ui): extract drop zone styles into reusable DropActionButton component and rename ActionDropZones to DropZones 2026-08-28 10:01:13 +02:00
db refactor(lib): consolidate services, types, utils, and actions into lib folder and update import paths 2026-08-23 16:44:18 +02:00
lib refactor(lib): consolidate services, types, utils, and actions into lib folder and update import paths 2026-08-23 16:44:18 +02:00
public feat(legal): add imprint and privacy policy pages with responsive layout and fixed footer integration 2026-08-15 10:13:16 +02:00
.gitignore feat(db): integrate Drizzle ORM with SQLite 2026-08-03 18:07:02 +02:00
auth.ts refactor(auth): extract handleSignOut server action into dedicated module to fix client build error 2026-08-22 06:56:07 +02:00
Dockerfile refactor(lib): consolidate services, types, utils, and actions into lib folder and update import paths 2026-08-23 16:44:18 +02:00
drizzle.config.ts feat(db): migrate from SQLite to PostgreSQL via Drizzle ORM 2026-08-03 19:37:03 +02:00
eslint.config.mjs Initial commit 2026-08-01 12:13:57 +02:00
next.config.ts refactor(lib): consolidate services, types, utils, and actions into lib folder and update import paths 2026-08-23 16:44:18 +02:00
package-lock.json feat(auth): integrate zod validation for login and registration 2026-08-23 10:37:14 +02:00
package.json fix(deps): move drizzle-kit to dependencies for production migrations 2026-08-23 16:58:42 +02:00
postcss.config.mjs Initial commit 2026-08-01 12:13:57 +02:00
README.md refactor(lib): consolidate services, types, utils, and actions into lib folder and update import paths 2026-08-23 16:44:18 +02:00
tsconfig.json Initial commit 2026-08-01 12:13:57 +02:00

Flowstate

A modern, high-performance Kanban & Workflow web application designed to help you lock in and enter the productivity flow.

Deployment Status Website Status Next.js React TypeScript Tailwind CSS Auth.js Drizzle ORM PostgreSQL Docker Compose

🛠️ Tech Stack

📂 Architecture & Structure

The project uses Next.js Route Groups to separate public and protected application areas cleanly:

  • .forgejo/workflows/ — Automated SSH deployment pipeline (deploy.yml)
  • app/(auth)/ — Public authentication routes (Login, Register)
  • app/(app)/ — Protected workspace & dashboard routes (Sidebar, Header, Kanban Board)
  • app/api/ — Backend API endpoints & Auth handlers (/api/auth/register, [...nextauth])
  • db/ — Database schema definitions, migrations, and Drizzle configuration (drizzle.config.ts)
  • lib/ — Centralized core logic folder containing:
    • actions/ — Server Actions (e.g., authentication actions)
    • schemas/ — Zod validation schemas
    • services/ — Business logic layers and external API integration services
    • types/ — Global TypeScript interfaces and type definitions
    • utils/ — Shared helper functions and formatters
  • public/ — Static assets (images, icons, fonts)

🚀 CI/CD & Deployment

Deployments are fully automated using Forgejo Actions and SSH:

  1. Automated Trigger: Pushes to the main branch trigger the SSH deployment workflow.
  2. Database Schema Sync: Migrations are applied in milliseconds using drizzle-kit push executed directly inside the active flowstate-studio container.
  3. Zero-Downtime Container Rebuild: Rebuilds production Docker images (flowstate) without disrupting live database volumes.

🎯 Current Status

In Progress — Core layout structure, responsive navigation, PostgreSQL database integration via Drizzle ORM, full authentication (Auth.js v5), and an automated production CI/CD deployment pipeline are fully operational.