Skip to content

fm-dev-mx/celebra-me

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,504 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Celebra-me

Celebra-me Logo

Celebra-me is an Astro-based web platform for premium digital invitations. The repository contains the public marketing site, invitation rendering engine, host dashboard, and the RSVP/admin APIs that support event operations.

Stack

  • Astro 5
  • TypeScript
  • React islands
  • SCSS
  • Supabase
  • Jest and Playwright
  • pnpm
  • Vercel

Prerequisites

  • Node.js >=20.19.0
  • pnpm 10.x

Getting Started

pnpm install
pnpm dev

Create .env.local from .env.example before using auth, email, or Supabase-backed flows.

Core Scripts

Command Purpose
pnpm dev start the Astro dev server
pnpm build run astro check and build production output
pnpm start preview the Astro app locally
pnpm preview serve the Vercel static output
pnpm type-check run astro check
pnpm lint run ESLint across the repository
pnpm test run the Jest suite
pnpm ci run type-check, lint, and tests
pnpm ops <command> run repository ops tooling through scripts/cli.mjs

Ops CLI

pnpm ops dispatches to the scripts under scripts/:

  • optimize-assets
  • validate-schema
  • validate-event-parity
  • validate-commits
  • new-invitation

Repository Layout

celebra-me/
├── .agent/                  # Agentic governance, plan index, and domain-specific skills
├── docs/                    # Evergreen docs (`core/`, `domains/`) and `archive/`
├── public/                  # Public static assets
├── scripts/                 # Operational CLI scripts and script docs
├── src/
│   ├── assets/              # Source images and icons consumed through the asset pipeline
│   ├── components/          # Astro components and React islands
│   ├── content/             # Astro content collections (`events`, `event-demos`, `event-templates`)
│   ├── data/                # Static marketing and supporting data modules
│   ├── hooks/               # Shared React hooks
│   ├── interfaces/          # Shared TS interfaces
│   ├── layouts/             # Layout shells for public pages and dashboard pages
│   ├── lib/                 # Domain logic, adapters, services, repositories, theme contracts
│   ├── pages/               # Public routes, invitation routes, dashboard routes, and API routes
│   ├── styles/              # Global, dashboard, landing, invitation, and theme SCSS
│   ├── utils/               # Shared helpers
│   ├── env.d.ts             # Environment variable typings
│   └── middleware.ts        # Auth and request-boundary middleware
├── supabase/                # Migrations and local database support
└── tests/                   # Jest and Playwright test suites

Application Surfaces

Public Routes

  • Marketing pages under src/pages/*.astro
  • Invitation routes under src/pages/[eventType]/[slug]*

Dashboard Routes

  • /dashboard/invitados
  • /dashboard/admin
  • /dashboard/eventos
  • /dashboard/usuarios
  • /dashboard/claimcodes
  • /dashboard/mfa-setup

API Routes

  • Auth APIs under src/pages/api/auth/**
  • Dashboard APIs under src/pages/api/dashboard/**
  • Guest invitation APIs under src/pages/api/invitacion/[inviteId]/**

Database Workflow

Supabase schema changes are versioned under supabase/migrations.

Useful commands:

pnpm db:start
pnpm db:push
pnpm db:reset:local
pnpm db:migrate:new <migration_name>

See docs/domains/rsvp/database.md for operational details.

Documentation

  • docs/core/architecture.md

  • docs/core/project-conventions.md

  • docs/core/testing-strategy.md

  • docs/domains/content/collections.md

  • docs/domains/rsvp/architecture.md

  • docs/domains/theme/architecture.md

  • docs/archive/ for historical material

  • .agent/plans/README.md (active plan index)

  • .agent/skills/ (domain-specific agentic capabilities)

  • .agent/plans/<plan-id>/README.md (individual implementation plan)

Maintainer

Francisco Mendoza

About

Celebra-me is a high-performance web application leveraging modern web technologies for the creation and sale of custom digital invitations. Built with a focus on scalability, maintainability, and responsive design, it utilizes TypeScript, TailwindCSS, and serverless deployment solutions for efficient performance.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors