Skip to content
NehanAhmedPublic

About

Nimbus is a realtime kanban issue tracker for teams who would rather ship than click through menus.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Nimbus

Work, without the weight.

Nimbus is a realtime kanban issue tracker for teams who would rather ship than click through menus. Create a workspace, invite members, and move issues through Todo, In Progress, In Review, and Done — with realtime sync, optimistic UI, and role-based access control.

Features

  • Workspaces — multi-tenant workspaces with invite-link onboarding and owner/admin/member role hierarchy
  • Authentication — JWT access tokens with rotating refresh tokens in httpOnly cookies, a dedicated refresh endpoint, silent access-token refresh, and per-route rate limiting
  • Membership — invite, join, role assignment, and member management with strict RBAC
  • Issues — full CRUD with status/priority/assignee fields, filtering, pagination, and search
  • Realtime kanban board — in development

Tech Stack

Turborepo monorepo, managed with Bun.

Layer Technology
Web app Next.js 16, React 19, App Router
API Express 5, TypeScript (ESM)
Database PostgreSQL via Drizzle ORM (Neon serverless)
Cache / rate limiting Redis (optional, in-memory fallback)
Shared code @nimbus/types (Zod schemas), @nimbus/ui (components)

Project Structure

apps/
  web/       Main product app (port 3000)
  docs/      Documentation app (port 3001)
  api/       Express API (port 4000)
packages/
  types/     Shared Zod schemas and TypeScript types
  ui/        Shared React components
  eslint-config/   Flat ESLint configs
  typescript-config/  Shared tsconfigs

Getting Started

Prerequisites: Bun 1.3.14+

bun install

Configure the API environment (see apps/api/.env.example):

cp apps/api/.env.example apps/api/.env.local

The API loads .env and .env.local (in that order) from apps/api/ and fails fast if DATABASE_URL, JWT_ACCESS_SECRET, or JWT_REFRESH_SECRET are missing. See apps/api/.env.example for the full variable list — including WEB_APP_ORIGIN, which controls the allowed CORS origins.

Apply database migrations:

cd apps/api && bunx drizzle-kit push

Start development servers:

turbo dev            # all apps
turbo dev --filter=api   # API only
turbo dev --filter=web   # web app only

Verification

turbo lint
turbo check-types
turbo build

There is no test framework; verification is lint, type-check, build, and manual testing.

Documentation

License

MIT

About

Nimbus is a realtime kanban issue tracker for teams who would rather ship than click through menus.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages