No description
Find a file
Arthur Belleville f82d3f70b8
fix: improve mobile responsiveness for login and signup pages
Add horizontal padding to page containers so cards don't bleed to the
edges on small screens, reduce card inner padding on mobile, scale down
headings at mobile breakpoints, and change the first/last name grid from
a fixed two-column layout to responsive (single column on mobile).
Replace the fixed-width form class (w-95) with w-full on the login form.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:16:20 +02:00
.circleci Fix CircleCI docker node pull 2026-03-08 21:28:44 +01:00
.superpowers/brainstorm Retry signup tests with Stripe CLI 2026-03-15 19:09:35 +01:00
.vscode Initial commit 2025-01-18 22:40:32 +01:00
apps fix: improve mobile responsiveness for login and signup pages 2026-04-02 22:16:20 +02:00
backend Some improvements with login 2025-03-25 21:45:20 +01:00
docs docs: add dynamic PWA manifest implementation plan 2026-04-02 21:51:18 +02:00
go_backend Modify backend 2025-03-15 08:46:51 +01:00
infra First work on infra with traefik 2025-02-24 14:58:59 +01:00
packages feat: add configurable overview layout builder 2026-03-14 13:36:47 +01:00
scripts Modify backend 2025-03-15 08:46:51 +01:00
supabase feat: add logo_url column to organizations table 2026-04-02 21:52:45 +02:00
xtablo-expo Onboarding + freemium 2025-12-01 19:34:30 +01:00
.dockerignore Fix docker 2025-11-14 23:10:04 +01:00
.gitignore chore: ignore local git worktrees directory 2026-03-14 10:47:51 +01:00
.pre-commit-config.yaml Fix lint 2025-10-10 11:10:28 +02:00
biome.json Create two packages: api and shared-types 2025-11-10 08:52:47 +01:00
CLAUDE.md Add task management 2025-11-15 22:58:18 +01:00
DEVELOPMENT.md Lint and format 2025-10-23 21:36:21 +02:00
justfile Add task management 2025-11-15 22:58:18 +01:00
package.json fix: resolve zod/v4/core build error and configure workbox cache limit 2026-04-02 20:07:07 +02:00
pnpm-lock.yaml feat: add sharp for server-side image resizing 2026-04-02 21:53:58 +02:00
pnpm-workspace.yaml Huge bump with turborepo 2025-10-23 11:54:45 +02:00
README.md Lint and format 2025-10-23 21:36:21 +02:00
SECURITY_NOTICE.md Remove secrets from env files 2025-11-04 10:53:31 +01:00
static-analysis.datadog.yml Add a lot of tests 2025-10-11 12:32:52 +02:00
turbo.json Fix issues 2025-10-23 23:27:13 +02:00

Xtablo Monorepo

This is a Turborepo-based monorepo for the Xtablo project, containing multiple apps and shared packages.

Project Structure

xtablo-source/
├── apps/
│   ├── main/           # Main UI application
│   └── external/       # External booking widget microfrontend
├── packages/
│   ├── ui/             # Shared UI components (buttons, inputs, etc.)
│   └── shared/         # Shared utilities, hooks, contexts, and types
├── api/                # TypeScript/Node.js API
├── backend/            # Python backend
├── go_backend/         # Go backend
└── xtablo-expo/        # React Native Expo app

Getting Started

Prerequisites

  • Node.js 18+ and pnpm 10.19.0+
  • For other services: Python 3.11+, Go 1.21+

Quick Start

# Install dependencies
pnpm install

# Start development (packages are source-only, no build needed)
pnpm dev

For detailed development workflows, see DEVELOPMENT.md.

Common Commands

# Development
pnpm dev              # Run all apps
pnpm dev:main         # Run main app only
pnpm dev:external     # Run external app only

# Building
pnpm build            # Build all apps
pnpm build:apps       # Build apps only
pnpm build:staging    # Build main app for staging
pnpm build:prod       # Build main app for production

# Testing & Quality
pnpm test             # Run all tests
pnpm lint             # Check all packages
pnpm lint:fix         # Fix linting issues
pnpm typecheck        # Type check everything

# Cleaning
pnpm clean            # Clean all build artifacts

Packages

@xtablo/ui

Shared UI components library used across the main and external apps. Contains all base UI components like buttons, inputs, dialogs, etc.

Usage:

import { Button } from "@xtablo/ui/components/button";
import { Input } from "@xtablo/ui/components/input";

@xtablo/shared

Shared utilities, hooks, contexts, and types used across apps.

Usage:

import { useSession } from "@xtablo/shared/contexts/SessionContext";
import { api } from "@xtablo/shared/lib/api";
import { Tables } from "@xtablo/shared/types/database.types";

Apps

Main (@xtablo/main)

The main Xtablo application with full dashboard, planning, chat, and administrative features.

Local URL: http://localhost:5173

External (@xtablo/external)

Embeddable booking widget that can be integrated into external websites. Supports both embedded and floating widget modes.

Local URL: http://localhost:5174

Usage:

  • Embedded mode: ?mode=embed&eventTypeId=...
  • Floating widget: ?mode=widget&eventTypeId=...

Turborepo Features

This monorepo uses Turborepo for:

  • Fast builds: Parallel task execution and intelligent caching
  • Dependency management: Automatic build ordering based on package dependencies
  • Code sharing: Easy sharing of components and utilities between apps

Development Workflow

For comprehensive development documentation including:

  • Package development workflow
  • Testing strategies
  • Troubleshooting guide
  • CI/CD setup

See DEVELOPMENT.md

Adding a New Package

See the "Adding a New Package" section in DEVELOPMENT.md for detailed instructions.

Migration Notes

This project was migrated from a single UI app to a Turborepo monorepo with the following changes:

  • Before: Single ui/ directory with all code
  • After:
    • apps/main/ - Main application
    • apps/external/ - Separate microfrontend for booking widgets
    • packages/ui/ - Shared UI components
    • packages/shared/ - Shared utilities and logic

All import paths have been updated to use workspace packages (@xtablo/ui, @xtablo/shared).

Contributing

When adding new shared code:

  1. Add to the appropriate package (ui for UI components, shared for logic/utils)
  2. Export from the package's appropriate entry point
  3. Use the workspace import in your apps

For more details, see DEVELOPMENT.md

License

[Your License Here]