Skip to content
forked from stemlen/Fairlx

Fairlx is a comprehensive, modern project management solution . It provides a complete suite of tools for team collaboration, including workspaces, projects, tasks, member management, analytics, and timeline views. Designed as a Jira-inspired platform for growing teams, it emphasizes simplicity

Notifications You must be signed in to change notification settings

Happyesss/Fairlx

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Fairlx - Enterprise-Grade Agile Project Management

Fairlx Logo

The Complete Solution for Agile Teams at Scale

Built with Next.js TypeScript Tailwind CSS Appwrite License: MIT

A powerful project management platform for modern agile teams: organizations, workspaces, spaces, projects, teams, sprints, work items, workflows, custom fields, time tracking, docs, and integrations.

πŸ“– Documentation | πŸš€ Quick Start | πŸ› Report Bug | ✨ Request Feature


πŸ“š Documentation

Get up and running fast

Complete schema & setup

How to contribute

Community guidelines


✨ Features

🏒 Organizations & Workspaces

Personal or Org accounts, multi-workspace, programs, teams, projects

πŸ“‹ Work Items

Stories, Tasks, Bugs, Epics with custom fields & workflows

πŸƒ Sprints & Boards

Scrum, Kanban, or Hybrid with velocity and burndown

πŸ”„ Custom Workflows

Status flows, transitions, and rules per workspace/space/project

⏱️ Time Tracking

Estimates vs actuals, timesheets, capacity insights

πŸ“Ž Files & Docs

Attachments (50MB) and project docs (5GB) with previews

πŸ€– AI-Powered

Smart suggestions, auto-docs, code analysis, natural language search

πŸ™ GitHub Integration

Repo links, commit sync, AI docs, code Q&A

πŸ“Š Analytics & Billing

Burndown, velocity, usage-based billing, audit logs


🌟 Why Fairlx?

  • AI-first: Smart task suggestions, auto-generated documentation, code analysis, and natural language search.
  • Enterprise-ready: Organizations, multi-workspace, programs, teams, RBAC permissions.
  • Dual account types: Personal accounts for individuals, Org accounts for teams with shared billing.
  • Usage-based billing: Flexible metering for traffic, storage, and compute.
  • Flexible workflows: Workspace/space/project-level customization.
  • Custom fields: Text, numbers, selects, users, dates, currency, labels.
  • Built-in time tracking: Estimates vs actuals, timesheets, exports.
  • Integration-ready: GitHub, AI services, notifications, storage.
  • Self-host friendly: Appwrite backend; full data ownership.
  • Modern stack: Next.js 15, TypeScript, Tailwind, Appwrite.

πŸ› οΈ Tech Stack

Frontend: Next.js 15 (App Router, RSC), TypeScript, Tailwind CSS, Radix UI, shadcn/ui, Lucide, React Hook Form, Zod, TanStack Query, React Big Calendar, Recharts, Next Themes, Sonner.

Backend: Appwrite (Auth, DB, Storage, Functions, Realtime), Hono for API routes, Next.js Server Actions.

Tooling: ESLint, Prettier, TypeScript strict mode, Git.


πŸš€ Quick Start

Prerequisites

  • Node.js 18+ (npm/yarn/pnpm/bun)
  • Appwrite Cloud or self-hosted Appwrite

Install

git clone https://github.com/yourorg/Fairlx.git
cd Fairlx
npm install  # or bun install

Configure env

Create .env.local with your values:

NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
NEXT_PUBLIC_APPWRITE_PROJECT=your_project_id
NEXT_APPWRITE_KEY=your_api_key
NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_database_id

# Core Collections
NEXT_PUBLIC_APPWRITE_WORKSPACES_ID=workspaces
NEXT_PUBLIC_APPWRITE_MEMBERS_ID=members
NEXT_PUBLIC_APPWRITE_PROJECTS_ID=projects
NEXT_PUBLIC_APPWRITE_TASKS_ID=tasks
NEXT_PUBLIC_APPWRITE_SPRINTS_ID=sprints
NEXT_PUBLIC_APPWRITE_WORK_ITEMS_ID=work_items
NEXT_PUBLIC_APPWRITE_TIME_LOGS_ID=time_logs
NEXT_PUBLIC_APPWRITE_PERSONAL_BACKLOG_ID=personal_backlog
NEXT_PUBLIC_APPWRITE_CUSTOM_COLUMNS_ID=custom_columns
NEXT_PUBLIC_APPWRITE_DEFAULT_COLUMN_SETTINGS_ID=default_column_settings
NEXT_PUBLIC_APPWRITE_NOTIFICATIONS_ID=notifications
NEXT_PUBLIC_APPWRITE_SUBTASKS_ID=subtasks
NEXT_PUBLIC_APPWRITE_ATTACHMENTS_ID=attachments
NEXT_PUBLIC_APPWRITE_COMMENTS_ID=comments
NEXT_PUBLIC_APPWRITE_GITHUB_REPOS_ID=github_repos
NEXT_PUBLIC_APPWRITE_CODE_DOCS_ID=code_docs
NEXT_PUBLIC_APPWRITE_PROJECT_DOCS_ID=project_docs

# Teams & Programs
NEXT_PUBLIC_APPWRITE_TEAMS_ID=teams
NEXT_PUBLIC_APPWRITE_TEAM_MEMBERS_ID=team_members
NEXT_PUBLIC_APPWRITE_PROGRAMS_ID=programs
NEXT_PUBLIC_APPWRITE_CUSTOM_ROLES_ID=custom_roles
NEXT_PUBLIC_APPWRITE_PROJECT_MEMBERS_ID=project_members
NEXT_PUBLIC_APPWRITE_PROJECT_ROLES_ID=project_roles

# Spaces & Workflows
NEXT_PUBLIC_APPWRITE_SPACES_ID=spaces
NEXT_PUBLIC_APPWRITE_SPACE_MEMBERS_ID=space_members
NEXT_PUBLIC_APPWRITE_WORKFLOWS_ID=workflows
NEXT_PUBLIC_APPWRITE_WORKFLOW_STATUSES_ID=workflow_statuses
NEXT_PUBLIC_APPWRITE_WORKFLOW_TRANSITIONS_ID=workflow_transitions

# Custom Fields
NEXT_PUBLIC_APPWRITE_CUSTOM_FIELDS_ID=custom_fields
NEXT_PUBLIC_APPWRITE_CUSTOM_WORK_ITEM_TYPES_ID=custom_work_item_types
NEXT_PUBLIC_APPWRITE_WORK_ITEM_LINKS_ID=work_item_links
NEXT_PUBLIC_APPWRITE_SAVED_VIEWS_ID=saved_views

# Organizations & Billing
NEXT_PUBLIC_APPWRITE_ORGANIZATIONS_ID=organizations
NEXT_PUBLIC_APPWRITE_ORGANIZATION_MEMBERS_ID=organization_members
NEXT_PUBLIC_APPWRITE_ORGANIZATION_AUDIT_LOGS_ID=organization_audit_logs
NEXT_PUBLIC_APPWRITE_USAGE_EVENTS_ID=usage_events
NEXT_PUBLIC_APPWRITE_USAGE_AGGREGATIONS_ID=usage_aggregations
NEXT_PUBLIC_APPWRITE_USAGE_ALERTS_ID=usage_alerts
NEXT_PUBLIC_APPWRITE_STORAGE_SNAPSHOTS_ID=storage_snapshots
NEXT_PUBLIC_APPWRITE_INVOICES_ID=invoices

# Storage Buckets
NEXT_PUBLIC_APPWRITE_IMAGES_BUCKET_ID=images
NEXT_PUBLIC_APPWRITE_ATTACHMENTS_BUCKET_ID=attachments_bucket
NEXT_PUBLIC_APPWRITE_PROJECT_DOCS_BUCKET_ID=project-docs

# Email Configuration
NEXT_PUBLIC_APPWRITE_SMTP_PROVIDER_ID=your_smtp_provider_id
NEXT_PUBLIC_APPWRITE_EMAIL_TOPIC_ID=your_email_topic_id

Full schema and bucket details: see APPWRITE_GUIDE.md.

Run

npm run dev   # or bun dev
# open http://localhost:3000

πŸ“ Project Structure

Fairlx/
β”œβ”€β”€ public/                # Static assets
β”œβ”€β”€ docs/                  # Documentation
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/               # Next.js App Router (auth, dashboard, api, oauth)
β”‚   β”œβ”€β”€ components/        # UI & shared components
β”‚   β”œβ”€β”€ features/          # Feature modules:
β”‚   β”‚   β”œβ”€β”€ auth/          # Authentication, signup, login, email verification
β”‚   β”‚   β”œβ”€β”€ organizations/ # Organization management & billing
β”‚   β”‚   β”œβ”€β”€ workspaces/    # Workspace CRUD
β”‚   β”‚   β”œβ”€β”€ spaces/        # Spaces (project containers)
β”‚   β”‚   β”œβ”€β”€ projects/      # Projects
β”‚   β”‚   β”œβ”€β”€ tasks/         # Tasks & work items
β”‚   β”‚   β”œβ”€β”€ sprints/       # Sprint management
β”‚   β”‚   β”œβ”€β”€ teams/         # Teams
β”‚   β”‚   β”œβ”€β”€ programs/      # Programs
β”‚   β”‚   β”œβ”€β”€ members/       # Workspace membership
β”‚   β”‚   β”œβ”€β”€ workflows/     # Custom workflows
β”‚   β”‚   β”œβ”€β”€ custom-fields/ # Custom fields
β”‚   β”‚   β”œβ”€β”€ time-logs/     # Time tracking
β”‚   β”‚   β”œβ”€β”€ comments/      # Comments
β”‚   β”‚   β”œβ”€β”€ attachments/   # File attachments
β”‚   β”‚   β”œβ”€β”€ notifications/ # Notification system
β”‚   β”‚   β”œβ”€β”€ github-integration/ # GitHub repo sync
β”‚   β”‚   └── ...            # Additional features
β”‚   β”œβ”€β”€ hooks/             # Reusable hooks
β”‚   β”œβ”€β”€ lib/               # Appwrite client, RPC, utils, session middleware
β”‚   β”œβ”€β”€ schemas/           # Zod validation schemas
β”‚   β”œβ”€β”€ types/             # Shared types
β”‚   └── config.ts          # Environment config constants
β”œβ”€β”€ CODE_OF_CONDUCT.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ APPWRITE_GUIDE.md
β”œβ”€β”€ components.json
β”œβ”€β”€ tailwind.config.ts
β”œβ”€β”€ next.config.mjs
β”œβ”€β”€ tsconfig.json
└── package.json

🎯 Core Features (Detail)

Account Types

  • Personal Account: Single-user workspace with personal billing
  • Organization Account: Multi-workspace teams with shared org-level billing

Organization Hierarchy

Organization (Org Account only)
└── Workspaces
    β”œβ”€β”€ Spaces
    β”‚   └── Work Items
    β”œβ”€β”€ Projects
    β”‚   β”œβ”€β”€ Sprints
    β”‚   └── Tasks
    └── Teams & Programs

Key Capabilities

  • Boards: Scrum, Kanban, Hybrid; WIP limits; swimlanes; sprint metrics.
  • Workflows: Custom statuses and transitions per scope; rules, allowed roles, auto-assign.
  • Work Items: Stories/Tasks/Bugs/Epics/Subtasks; labels; components; relationships (blocks, relates, duplicates, split, clone, parent/child, causes).
  • Custom Fields: Text, number, date/time, select/multi-select, user(s), checkbox, URL, email, currency, percentage, labels; scope to workspace/space/project.
  • Time Tracking: Estimates vs actuals; per-user timesheets; capacity/velocity; exports.
  • Docs & Files: Attachments up to 50MB; project docs up to 5GB with categories (PRD/FRD/spec/etc.).
  • Comments: Threaded, @mentions, edit flag, reply chains.
  • Notifications: Assignments, status/priority/due changes, comments, attachments.
  • GitHub Integration: Repo links, commit sync, generated docs, Q&A.
  • Timeline & Calendar: Gantt-style timelines, calendar for due dates/milestones.
  • Analytics: Burndown, velocity, workload, project progress, risk signals.
  • Security: RBAC, space visibility, file validation, email verification.

πŸ€– AI Features

  • Smart Task Suggestions: AI analyzes project context to suggest task breakdowns, estimates, and assignees.
  • Auto-Generated Documentation: Automatically generate PRDs, technical specs, and release notes from project data.
  • Code Analysis & Q&A: Ask questions about your codebase; AI provides answers with file references.
  • Natural Language Search: Find tasks, docs, and code using plain English queries.
  • Sprint Planning Assistant: AI recommends sprint capacity, identifies risks, and suggests task prioritization.
  • Commit Summarization: Auto-generate meaningful commit summaries and changelog entries.
  • Duplicate Detection: AI identifies potentially duplicate tasks and suggests merging.
  • Effort Estimation: ML-powered story point and time estimates based on historical data.
  • Risk Prediction: Proactive alerts for scope creep, deadline risks, and blockers.

πŸ”§ Development

Scripts

npm run dev      # dev server
npm run build    # production build
npm run start    # start production
npm run lint     # lint

Guidelines

  • TypeScript strict; explicit types.
  • Prefer Server Components; use client components only when needed.
  • Use Tailwind utilities and shadcn/ui primitives.
  • Validate inputs with Zod; keep components small and composable.
  • Use route utilities (src/lib/route-utils.ts) for safe navigation with ID validation.
  • Run lint before pushing.

Example

import { buildWorkspaceRoute } from "@/lib/route-utils";

// Safe navigation with validated IDs
const route = buildWorkspaceRoute(workspaceId, "/settings");
router.push(route);

πŸš€ Deployment

Vercel (recommended) Deploy with Vercel

  1. Import repo to Vercel
  2. Set env vars (see .env.local)
  3. Deploy

Docker (example)

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]

πŸ—ΊοΈ Roadmap

Completed:

  • Multi-workspace & organizations
  • Scrum/Kanban/Hybrid boards
  • Custom workflows & fields
  • Time tracking
  • Teams & programs
  • Work item links
  • GitHub integration
  • Comments & attachments
  • Notifications
  • Timelines & analytics
  • Usage-based billing foundation
  • Dual account types (Personal/Org)

In Progress:

  • Advanced reporting dashboard
  • Automation rules
  • Webhooks
  • Mobile app

Planned:

  • Jira import/export
  • Slack/Discord/Teams integration
  • Approvals
  • Capacity planning
  • Portfolio management
  • AI insights
  • Custom widgets
  • i18n
  • Advanced search
  • Bulk operations
  • 2FA

πŸ“Š Database Snapshot

  • Collections: 30+ (workspaces, spaces, space_members, programs, teams, team_members, custom_roles, projects, members, tasks, work_items, sprints, workflows, workflow_statuses, workflow_transitions, custom_columns, default_column_settings, time_logs, subtasks, comments, attachments, notifications, personal_backlog, github_repos, code_docs, project_docs, organizations, organization_members, usage_events, invoices, etc.)
  • Buckets: 3 (images, attachments_bucket, project-docs)

Full attribute list, types, required flags, lengths, and indexes: see APPWRITE_GUIDE.md.


πŸ” Security

  • Email verification required (configure SMTP provider & topic in Appwrite).
  • RBAC via workspace/member roles and custom team roles.
  • Organization-level permissions and audit logs.
  • Data encrypted at rest/in transit; secure sessions.
  • File validation on uploads; antivirus enabled on buckets (Appwrite settings).
  • Route utilities prevent navigation with undefined/invalid IDs.
  • Report vulnerabilities privately (not via public issues).

πŸ™ Acknowledgments

πŸ’¬ Community & Support

Built with ❀️ for Agile Teams β€” ⭐ us if this helps!

About

Fairlx is a comprehensive, modern project management solution . It provides a complete suite of tools for team collaboration, including workspaces, projects, tasks, member management, analytics, and timeline views. Designed as a Jira-inspired platform for growing teams, it emphasizes simplicity

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Languages

  • TypeScript 99.0%
  • Other 1.0%