refactor: migrate to monorepo structure with Docker, PocketBase, and e2e tests

- Reorganize into apps/, packages/, docs/, e2e/, pocketbase/ directories
- Add Dockerfiles for web, worker, and PocketBase services
- Add docker-compose.yml for local orchestration
- Add turbo.json for monorepo task management
- Add Playwright e2e test infrastructure
- Add PocketBase backend with migrations
- Remove Vite/Next.js/ESLint/PostCSS config files
- Update package.json with workspace dependencies
- Add .env.example and .dockerignore
This commit is contained in:
2026-07-16 06:19:58 -04:00
parent ec14645a4b
commit 8f55626e03
286 changed files with 31992 additions and 9245 deletions
+49
View File
@@ -0,0 +1,49 @@
import type { Page } from '@playwright/test';
/** Test user credentials – matches PocketBase seed data or test fixtures. */
export const TEST_USER = {
email: 'test@example.com',
password: 'testpassword123',
};
/** Fake credentials that should always fail login. */
export const INVALID_USER = {
email: 'nonexistent@example.com',
password: 'wrongpassword',
};
/** Unique timestamp suffix to avoid collisions in concurrent test runs. */
const ts = Date.now();
export const testTasks = {
title: `E2E Test Task ${ts}`,
editedTitle: `E2E Test Task Edited ${ts}`,
description: 'This task was created by the E2E test suite.',
domain: 'personal',
priority: 'high' as const,
};
export const testHabits = {
name: `E2E Test Habit ${ts}`,
description: 'A habit created by the E2E test suite.',
};
export const testProjects = {
name: `E2E Test Project ${ts}`,
description: 'A project created by the E2E test suite.',
};
export const testNotes = {
title: `E2E Test Note ${ts}`,
content: 'This note was created by the E2E test suite.',
domain: 'personal',
};
export const testReports = {
title: `E2E Test Report ${ts}`,
content: 'This report was created by the E2E test suite.',
};
export const testDomains = {
name: `e2e-domain-${ts}`,
};