Files
metabuilder/emailclient/package.json
johndoe6345789 f6731698c3 feat(app): create email client bootloader with Docker Compose
Task 8.1 Complete: Email Client Bootloader

This commit creates the minimal Next.js bootloader at emailclient/ that:

1. Loads the email_client package from packages/email_client/
2. Initializes Redux store with core reducers (auth, projects, workflows, async data)
3. Renders declarative UI from package page-config JSON
4. Provides working app structure with:
   - app/page.tsx - Main page that loads email_client package
   - app/layout.tsx - Root layout with Redux provider
   - app/globals.css - Email-client-specific styles
   - docker-compose.yml - Services (Postfix, Dovecot, Redis, Flask, PostgreSQL)
   - .env.example - Configuration template
   - package.json - Dependencies (Next.js, React, Redux, FakeMUI)
   - docs/CLAUDE.md - Development guide

Services configured:
- Postfix (SMTP relay) - ports 25, 587
- Dovecot (IMAP/POP3) - ports 143, 993, 110, 995
- Redis (cache) - port 6379
- Flask email-service - port 5000
- PostgreSQL (metadata) - port 5432

Next phases:
- Phase 3: Redux slices for email state
- Phase 4: Custom email hooks
- Phase 5: Email package UI definitions
- Phase 6: Email workflow plugins
- Phase 7: Flask backend service
- Phase 8: Integration testing
2026-01-23 19:35:49 +00:00

36 lines
931 B
JSON

{
"name": "emailclient",
"version": "1.0.0",
"type": "module",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint . --config eslint.config.mjs",
"lint:fix": "eslint . --config eslint.config.mjs --fix",
"test": "jest",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui"
},
"dependencies": {
"@metabuilder/fakemui": "workspace:*",
"@metabuilder/hooks": "workspace:*",
"@metabuilder/redux-core": "workspace:*",
"@reduxjs/toolkit": "^2.5.2",
"next": "^16.1.2",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"react-redux": "^9.1.2"
},
"devDependencies": {
"@playwright/test": "^1.49.1",
"@types/node": "^20",
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"eslint": "^9.28.0",
"eslint-config-next": "^16.1.2",
"typescript": "^5.9.3"
}
}