A cost-effective, feature-rich Jira alternative for planning and delivering software work.
Alice helps teams manage projects, sprints, boards, backlogs, and work items in one place — with auth, files, dashboards, and shared UI primitives built for a real product workflow.
This repository is the Alice monorepo. It is organized as:
| Area | Path | Role |
|---|---|---|
| Web app | apps/web |
Next.js frontend (dashboard, board, backlog, work items, projects, auth, profile) |
| API | apps/api |
Express.js TypeScript backend (REST, auth-aware routes, file uploads) |
| UI kit | packages/ui |
Shared shadcn/ui components and theme tokens |
| Database | packages/db |
Prisma / Supabase migrations, seeds, and type generation |
| Types | packages/types |
Shared TypeScript types (including generated DB types) |
| Tooling | packages/eslint-config, packages/typescript-config |
Shared lint and TS configs |
Build system: Turborepo + pnpm workspaces
Commits: Conventional Commits (Commitizen / Commitlint + Husky)
- Dashboard — customizable overview widgets (drag / resize)
- Board — kanban swimlanes backed by work-item status updates
- Backlog — sprint planning and unassigned work
- Work items — list, detail, rich description editor, inline title edit
- Projects, sprints, users, files, profile — supporting product areas
- Auth — sign in / sign up, password recovery, session handling
Project docs live under ./docs. Start with docs/README.md.
- Product & architecture:
docs/product/ARD.md,docs/architecture/TRD.md - Database:
docs/database/,docs/guides/DATABASE.md - Features & auth:
docs/features/,docs/auth/ - Guides (SEO, Sonar, infra, debugging):
docs/guides/
- Node.js
>= 18 - pnpm
9.x(seepackageManagerin rootpackage.json)
pnpm installConfigure environment variables for apps/web, apps/api, and packages/db as needed (Supabase / API URLs, secrets). See docs/guides/INFRASTRUCTURE.md and docs/guides/DATABASE.md for deeper setup notes.
pnpm dev# API (Express)
pnpm api dev
# Web (Next.js)
pnpm web devScaffold shadcn components into @repo/ui:
pnpm ui:add <component_1> <component_2>Example:
pnpm ui:add button dialog sonnerpnpm formatpnpm checktypespnpm lintpnpm buildOr build a single package / app with filters:
pnpm web build
pnpm api buildpnpm testWeb e2e (Cypress):
pnpm test:e2e
pnpm cypress:openUse the interactive Commitizen flow (Conventional Commits):
pnpm commitHusky + lint-staged run on commit to keep apps and packages lint-clean.
alice/
├── apps/
│ ├── web/ # Next.js app
│ └── api/ # Express API
├── packages/
│ ├── ui/ # @repo/ui (shadcn)
│ ├── db/ # @repo/db (Prisma / Supabase)
│ ├── types/ # @repo/types
│ ├── eslint-config/
│ └── typescript-config/
├── docs/ # Product & engineering documentation
└── package.json # Workspace scripts (turbo, pnpm filters)
pnpm web <script> # e.g. pnpm web lint
pnpm api <script>
pnpm ui <script>
pnpm db <script> # migrations, generate, seed
pnpm types <script>