Sobre o projeto

Cal.diy é a plataforma de agendamento totalmente open-source e mantida pela comunidade, descrita como um fork do Cal.com com todo o código empresarial e comercial removido. A base de código completa possui licença MIT, sem funcionalidades proprietárias da "Versão Enterprise" e sem necessidade de chave de licença. De acordo com o README, as diferenças em relação ao Cal.com incluem a remoção de recursos empresariais como Equipes, Organizações, Insights, Fluxos de Trabalho e SSO/SAML, além da ausência de divisão "Open Core". O projeto é mantido pela comunidade e não existe versão hospedada ou gerenciada — os usuários executam em sua própria infraestrutura. O README alerta explicitamente que é destinado ao uso pessoal e não produtivo, exigindo conhecimento avançado de administração de servidores, gerenciamento de banco de dados e proteção de dados sensíveis. As tecnologias listadas incluem Next.js, tRPC, React.js, Tailwind CSS, Prisma.io e Daily.co. Os pré-requisitos são Node.js >=18.x, PostgreSQL >=13.x e Yarn (recomendado). As opções de início incluem uma inicialização rápida via `yarn dx`, que requer Docker e Docker Compose, iniciando uma instância local do Postgres com usuários de teste pré-carregados (contas gratuitas, pro, trial, admin e onboarding com credenciais documentadas). O caminho de configuração manual cobre clonar o repositório, instalar os pacotes, configurar um arquivo `.env` com valores gerados de `NEXTAUTH_SECRET` e `CALENDSO_ENCRYPTION_KEY`, definir o `DATABASE_URL`, executar migrações ou implantações do Prisma e iniciar o aplicativo com `yarn dev`. Também é documentada uma configuração via Gitpod. O README inclui etapas específicas para Windows, como substituir o symlink `.env` do Prisma por uma cópia real. A implantação é documentada via Docker e Docker Compose, com uma imagem no DockerHub e variação para ARM com sufixo. Os segredos obrigatórios do runtime incluem `NEXTAUTH_SECRET` e `CALENDSO_ENCRYPTION_KEY`; variáveis opcionais cobrem a URL do aplicativo web, URL de autenticação, URLs de termos e privacidade, e desativação de telemetria. Chaves VAPID são necessárias para notificações push web. O README também documenta a atualização da pilha, a construção a partir do código-fonte com Docker e tópicos de solução de problemas como terminação SSL na borda, erros de criação de usuário do Prisma e `CLIENT_FETCH_ERROR`. Os testes são suportados por meio de testes end-to-end baseados em Playwright (`yarn test-e2e`) e MailHog para visualização de emails de desenvolvimento. O README remete a um guia de contribuição e ao rastreador de Issues para participação comunitária.