Skip to content
/ Fairlx Public

Fairlx is an open-source, AI-powered, enterprise-ready project management platform that combines fair usage billing, modern workflows, and scalable architecture for growing organizations.

Notifications You must be signed in to change notification settings

stemlen/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 an open-source, AI-powered, enterprise-ready project management platform that combines fair usage billing, modern workflows, and scalable architecture for growing organizations.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages