Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -223,4 +223,4 @@
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
# CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
# CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
2,179 changes: 1,110 additions & 1,069 deletions analyze/client.html

Large diffs are not rendered by default.

Binary file added current.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 0 additions & 15 deletions docs/prd.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ to focus exclusively on delivering unique business value.
# Core Features

- **Mobile-First Progressive Web App (PWA) Foundation**

- **What it does:** Provides a complete PWA setup, including a Web App
Manifest, a caching Service Worker, and offline fallback pages. The entire
architecture is designed with a mobile-first philosophy.
Expand All @@ -36,7 +35,6 @@ to focus exclusively on delivering unique business value.
stale-while-revalidate for API data) and handle offline states gracefully.

- **Global-Ready Internationalization (i18n)**

- **What it does:** Implements a complete multi-language system supporting
English, Spanish, and Portuguese out-of-the-box, with a clear structure for
adding more languages.
Expand All @@ -48,7 +46,6 @@ to focus exclusively on delivering unique business value.
user locale detection.

- **Comprehensive & Accessible UI System**

- **What it does:** Delivers a complete set of UI components built on
`shadcn/ui` and `Tailwind CSS`. Every component is responsive,
touch-friendly, accessible (WCAG 2.1 AA), and supports dark mode.
Expand All @@ -61,7 +58,6 @@ to focus exclusively on delivering unique business value.
variants.

- **Secure Authentication & Multi-Tenancy**

- **What it does:** Implements a full authentication system (email/password,
OAuth) and a workspace-based multi-tenancy model with data isolation
enforced at the database level.
Expand All @@ -74,7 +70,6 @@ to focus exclusively on delivering unique business value.
access data within their authorized workspace.

- **Type-Safe Full-Stack API**

- **What it does:** Provides a fully-configured, end-to-end type-safe API
layer.
- **Why it's important:** It eliminates an entire class of bugs related to
Expand All @@ -99,15 +94,13 @@ to focus exclusively on delivering unique business value.
# User Experience

- **User Personas**

- **Primary Persona: Alex, the Senior Full-Stack Engineer.** Alex's goal is to
ship high-quality features as quickly as possible. They value clear
patterns, automation, and a boilerplate that "just works" so they can focus
on complex business logic, not on configuration. They expect a top-tier
developer experience with fast builds, hot reloading, and type-safety.

- **Key User Flows**

- **Developer Flow 1: Project Initialization:**
1. Alex clones the boilerplate repository.
2. Runs `pnpm install` to set up dependencies.
Expand Down Expand Up @@ -148,7 +141,6 @@ to focus exclusively on delivering unique business value.
# Technical Architecture

- **System Components**

- **Frontend:** Next.js 15 App Router, React 19, Tailwind CSS.
- **Backend/API:** tRPC running on Next.js API Routes.
- **Database:** PostgreSQL hosted on Supabase.
Expand All @@ -161,13 +153,11 @@ to focus exclusively on delivering unique business value.
- **Hosting:** Vercel.

- **Data Models**

- The core data structure is centered around Users, Workspaces, and
Subscriptions, enabling a standard multi-tenant SaaS model. See Appendix for
the full Prisma schema.

- **APIs and Integrations**

- **Internal API:** A unified, type-safe API is provided via tRPC.
- **External Integrations:**
- **Supabase:** For database, authentication, and file storage.
Expand All @@ -186,7 +176,6 @@ to focus exclusively on delivering unique business value.
# Development Roadmap

- **MVP (v1.0) Requirements: The Production-Ready Foundation**

- **Phase 1: Core Setup & UI Foundation**
- Next.js 15, TypeScript, and Tailwind CSS configuration.
- Basic PWA setup (Manifest, empty Service Worker).
Expand Down Expand Up @@ -345,7 +334,6 @@ to focus exclusively on delivering unique business value.
```

- **Definition of Done (DoD)** A feature is considered "done" when:

- It is implemented and functional.
- It is mobile-first and fully responsive.
- All user-facing strings are internationalized.
Expand Down Expand Up @@ -843,7 +831,6 @@ works-boilerplate/
## 6.1 Phase 1: Foundation + Mobile (5 days)

1. **Initial project setup**

- Next.js 15 with strict TypeScript
- Mobile-first Tailwind configuration
- Basic PWA setup
Expand All @@ -857,7 +844,6 @@ works-boilerplate/
## 6.2 Phase 2: Core Features + Components (6 days)

1. **Component system**

- All shadcn/ui components
- Mobile adaptations
- Touch interactions
Expand All @@ -869,7 +855,6 @@ works-boilerplate/
## 6.3 Phase 3: PWA + Offline (4 days)

1. **Progressive Web App**

- Complete service worker
- Offline strategies
- Install flow
Expand Down
Binary file modified image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 57 additions & 2 deletions messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@
"feedback": "Feedback",
"search": "Search",
"create": "Create",
"favorites": "Favorites"
"favorites": "Favorites",
"notifications": "Notifications",
"menu": "Menu",
"main": "Main",
"account": "Account",
"support": "Support",
"help": "Help",
"logout": "Logout"
},
"actions": {
"save": "Save",
Expand All @@ -49,6 +56,9 @@
"info": "Information"
}
},
"app": {
"name": "Works"
},
"auth": {
"signin": "Sign in",
"signup": "Sign up",
Expand All @@ -62,7 +72,52 @@
"passwordRequired": "Password is required",
"invalidCredentials": "Invalid credentials",
"accountCreated": "Account created successfully",
"welcomeBack": "Welcome back!"
"welcomeBack": "Welcome back!",
"signupPage": {
"title": "Sign up to Copy UI.",
"subtitle": "Already have an account?",
"subtitleLink": "Sign in",
"nameLabel": "Name",
"namePlaceholder": "Your name",
"emailLabel": "Email address",
"emailPlaceholder": "Enter email to get started",
"passwordLabel": "Password",
"passwordPlaceholder": "Enter your password",
"submitButton": "Sign up",
"divider": "Or continue with",
"legalText": "By creating an account you agree with our",
"termsOfService": "Terms of Service",
"and": "and our",
"privacyPolicy": "Privacy Policy"
},
"loginPage": {
"title": "Welcome back!",
"subtitle": "Don't have an account?",
"subtitleLink": "Sign up",
"emailLabel": "Email address",
"emailPlaceholder": "Enter your email",
"passwordLabel": "Password",
"passwordPlaceholder": "Enter your password",
"forgotPasswordLink": "Forgot your password?",
"submitButton": "Sign in",
"divider": "Or continue with"
},
"forgotPasswordPage": {
"title": "Forgot your password?",
"description": "No worries. Enter your email address below and we'll send you a link to reset it.",
"emailLabel": "Email address",
"emailPlaceholder": "[email protected]",
"submitButton": "Send reset link",
"backToLogin": "Back to",
"backToLoginLink": "Sign in"
},
"testimonial": {
"author": {
"name": "Peter Mick",
"title": "Founder of Copytime and Tweetsiu"
},
"quote": "Works-Boilerplate has been a <highlight>game-changer</highlight> for me! It's incredibly intuitive and has transformed the way I approach design. I can't imagine working without it. 🚀"
}
},
"dashboard": {
"title": "Dashboard",
Expand Down
59 changes: 57 additions & 2 deletions messages/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@
"feedback": "Comentarios",
"search": "Buscar",
"create": "Crear",
"favorites": "Favoritos"
"favorites": "Favoritos",
"notifications": "Notificaciones",
"menu": "Menú",
"main": "Principal",
"account": "Cuenta",
"support": "Soporte",
"help": "Ayuda",
"logout": "Cerrar sesión"
},
"actions": {
"save": "Guardar",
Expand All @@ -49,6 +56,9 @@
"info": "Información"
}
},
"app": {
"name": "Works"
},
"auth": {
"signin": "Iniciar sesión",
"signup": "Registrarse",
Expand All @@ -62,7 +72,52 @@
"passwordRequired": "La contraseña es obligatoria",
"invalidCredentials": "Credenciales inválidas",
"accountCreated": "Cuenta creada exitosamente",
"welcomeBack": "¡Bienvenido de vuelta!"
"welcomeBack": "¡Bienvenido de vuelta!",
"signupPage": {
"title": "Regístrate en Copy UI.",
"subtitle": "¿Ya tienes una cuenta?",
"subtitleLink": "Iniciar sesión",
"nameLabel": "Nombre",
"namePlaceholder": "Tu nombre",
"emailLabel": "Dirección de correo electrónico",
"emailPlaceholder": "Ingresa tu correo para comenzar",
"passwordLabel": "Contraseña",
"passwordPlaceholder": "Ingresa tu contraseña",
"submitButton": "Registrarse",
"divider": "O continúa con",
"legalText": "Al crear una cuenta aceptas nuestros",
"termsOfService": "Términos de Servicio",
"and": "y nuestra",
"privacyPolicy": "Política de Privacidad"
},
"loginPage": {
"title": "¡Bienvenido de vuelta!",
"subtitle": "¿No tienes una cuenta?",
"subtitleLink": "Regístrate",
"emailLabel": "Dirección de correo electrónico",
"emailPlaceholder": "Ingresa tu correo",
"passwordLabel": "Contraseña",
"passwordPlaceholder": "Ingresa tu contraseña",
"forgotPasswordLink": "¿Olvidaste tu contraseña?",
"submitButton": "Iniciar sesión",
"divider": "O continúa con"
},
"forgotPasswordPage": {
"title": "¿Olvidaste tu contraseña?",
"description": "No te preocupes. Ingresa tu dirección de correo electrónico a continuación y te enviaremos un enlace para restablecerla.",
"emailLabel": "Dirección de correo electrónico",
"emailPlaceholder": "[email protected]",
"submitButton": "Enviar enlace de restablecimiento",
"backToLogin": "Volver a",
"backToLoginLink": "Iniciar sesión"
},
"testimonial": {
"author": {
"name": "Peter Mick",
"title": "Fundador de Copytime y Tweetsiu"
},
"quote": "¡Works-Boilerplate ha sido un <highlight>cambio radical</highlight> para mí! Es increíblemente intuitivo y ha transformado la forma en que abordo el diseño. No puedo imaginar trabajar sin él. 🚀"
}
},
"dashboard": {
"title": "Panel",
Expand Down
59 changes: 57 additions & 2 deletions messages/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@
"feedback": "Feedback",
"search": "Buscar",
"create": "Criar",
"favorites": "Favoritos"
"favorites": "Favoritos",
"notifications": "Notificações",
"menu": "Menu",
"main": "Principal",
"account": "Conta",
"support": "Suporte",
"help": "Ajuda",
"logout": "Sair"
},
"actions": {
"save": "Salvar",
Expand All @@ -49,6 +56,9 @@
"info": "Informação"
}
},
"app": {
"name": "Works"
},
"auth": {
"signin": "Entrar",
"signup": "Cadastrar",
Expand All @@ -62,7 +72,52 @@
"passwordRequired": "Senha é obrigatória",
"invalidCredentials": "Credenciais inválidas",
"accountCreated": "Conta criada com sucesso",
"welcomeBack": "Bem-vindo de volta!"
"welcomeBack": "Bem-vindo de volta!",
"signupPage": {
"title": "Cadastre-se no Copy UI.",
"subtitle": "Já tem uma conta?",
"subtitleLink": "Entrar",
"nameLabel": "Nome",
"namePlaceholder": "Seu nome",
"emailLabel": "Endereço de e-mail",
"emailPlaceholder": "Digite o e-mail para começar",
"passwordLabel": "Senha",
"passwordPlaceholder": "Digite sua senha",
"submitButton": "Cadastrar",
"divider": "Ou continue com",
"legalText": "Ao criar uma conta você concorda com nossos",
"termsOfService": "Termos de Serviço",
"and": "e nossa",
"privacyPolicy": "Política de Privacidade"
},
"loginPage": {
"title": "Bem-vindo de volta!",
"subtitle": "Não tem uma conta?",
"subtitleLink": "Cadastre-se",
"emailLabel": "Endereço de e-mail",
"emailPlaceholder": "Digite seu e-mail",
"passwordLabel": "Senha",
"passwordPlaceholder": "Digite sua senha",
"forgotPasswordLink": "Esqueceu sua senha?",
"submitButton": "Entrar",
"divider": "Ou continue com"
},
"forgotPasswordPage": {
"title": "Esqueceu sua senha?",
"description": "Sem problemas. Digite seu endereço de e-mail abaixo e enviaremos um link para redefini-la.",
"emailLabel": "Endereço de e-mail",
"emailPlaceholder": "[email protected]",
"submitButton": "Enviar link de redefinição",
"backToLogin": "Voltar para",
"backToLoginLink": "Entrar"
},
"testimonial": {
"author": {
"name": "Peter Mick",
"title": "Fundador da Copytime e Tweetsiu"
},
"quote": "O Works-Boilerplate tem sido um <highlight>divisor de águas</highlight> para mim! É incrivelmente intuitivo e transformou a maneira como abordo o design. Não consigo imaginar trabalhar sem ele. 🚀"
}
},
"dashboard": {
"title": "Painel",
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@
"react-day-picker": "9.7.0",
"react-dom": "19.1.0",
"react-hook-form": "7.59.0",
"react-use-gesture": "9.1.3",
"recharts": "2.15.4",
"sonner": "2.0.5",
"tailwind-merge": "3.3.1",
Expand All @@ -102,13 +101,15 @@
"@sentry/nextjs": "9.33.0",
"@svgr/webpack": "8.1.0",
"@t3-oss/env-nextjs": "0.13.8",
"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/postcss": "^4.1.11",
"@types/node": "22.15.34",
"@types/react": "19.1.8",
"@types/react-dom": "19.1.6",
"@types/web": "0.0.243",
"@typescript-eslint/eslint-plugin": "8.35.0",
"@typescript-eslint/parser": "8.35.0",
"@use-gesture/react": "^10.3.1",
"autoprefixer": "10.4.21",
"commitizen": "^4.3.1",
"cssnano": "7.0.7",
Expand Down
Loading