A full-stack web application for managing Tableau Cloud migration projects with user authentication, database persistence, and customizable question templates.
Agent 0: Testing Infrastructure & Documentation - β COMPLETE
- Backend: 26 tests, 82.95% coverage
- Frontend: 14 tests, 100% component coverage
- See AGENT_0_COMPLETE.md
Agent 1: Infrastructure & Backend Foundation - β COMPLETE
- Docker Compose with 3 services (MongoDB, Backend, Frontend)
- Migration model with 55-question template
- Express server with health check endpoint
- Frontend scaffolding with auth context
- Backend: 43 tests passing, 73.5% coverage
- Frontend: 21/22 tests passing, 95%
- See AGENT_1_COMPLETE.md
Agent 2: Backend REST APIs - β COMPLETE
- Migration CRUD routes (create, list, get, update, delete)
- Question management routes (add, edit, delete, reorder)
- User management routes (create, list, get, update, delete)
- Role-based access control (InterWorks vs Client)
- Backend: 97 tests passing, 81% coverage β
- See AGENT_2_COMPLETE.md
- Node.js 18+
- MongoDB (or Docker for containerized setup)
Backend:
cd backend
npm install
npm test # Run all tests with coverage
npm run test:watch # Run in watch modeFrontend:
cd frontend
npm install
npm test # Run all tests with coverage
npm run test:watch # Run in watch modeBackend:
cd backend
npm install
npm run dev # Starts on port 5000Frontend:
cd frontend
npm install
npm run dev # Starts on port 5173- Root CLAUDE.md - Project overview, architecture, and how to run
- Backend CLAUDE.md - API documentation, models, routes, testing
- Frontend CLAUDE.md - Component API, atomic design, testing
- Backend: Node.js + Express + MongoDB + Mongoose
- Frontend: React 18 + Vite + Tailwind CSS + shadcn/ui
- Authentication: JWT with bcrypt
- Testing: Jest (backend) + Vitest (frontend) + MSW
tableau-migration-app/
βββ backend/ # Express API
β βββ src/
β β βββ models/ # User, Migration
β β βββ routes/ # API endpoints
β β βββ middleware/ # Auth, roles
β β βββ __tests__/ # Backend tests
β βββ CLAUDE.md
βββ frontend/ # React application
β βββ src/
β β βββ components/ # Atomic design (ui, atoms, molecules, organisms, templates)
β β βββ pages/ # Page components
β β βββ lib/ # Utilities
β β βββ __tests__/ # Frontend tests + MSW mocks
β βββ CLAUDE.md
βββ CLAUDE.md # Project documentation
βββ README.md # This file
- Backend: 80%+ (currently 82.95% β)
- Frontend: 70%+ (currently 100% β)
# Backend
cd backend && npm test
# Frontend
cd frontend && npm test
# Watch mode for development
cd backend && npm run test:watch
cd frontend && npm run test:watchCopy .env.example to .env and configure:
Backend (.env):
MONGODB_URI=mongodb://localhost:27017/tableau-migrations-dev
JWT_SECRET=your-super-secure-random-jwt-secret
JWT_EXPIRES_IN=7d
NODE_ENV=development
PORT=5000Frontend (.env):
VITE_API_URL=http://localhost:5000/api- Backend test infrastructure (Jest + Supertest + MongoDB Memory Server)
- Frontend test infrastructure (Vitest + React Testing Library + MSW)
- CLAUDE.md documentation files
- Docker Compose configuration (MongoDB, Backend, Frontend)
- Complete backend scaffolding (Express + Mongoose)
- Migration model with 55 questions
- Question template seed data
- Basic frontend scaffolding with auth context
- Migration CRUD routes (5 endpoints)
- Question management routes (4 endpoints)
- User management routes (5 endpoints)
- 97 tests passing, 81% coverage
- shadcn/ui + Tailwind setup
- Atomic design components (atoms, molecules, organisms)
- Purple gradient theme (#6633ff)
- Login page
- Dashboard page
- Migration checklist page
- Question management interface
- User management page
- PDF export
- UI animations
- Responsive design
- Production configuration
- Create/delete migrations
- Customize questions per migration
- Create/delete client users
- View all migrations
- Full access
- View assigned migration only
- Answer questions
- Export PDF
- Read-only question template
Purple Gradient Theme:
- Primary:
#6633ff - Primary Dark:
#4616a8 - Primary Light:
#8c66ff
Based on the original HTML prototype: tableau-migration-checklist-pro.html
MIT License - See LICENSE
This project follows the Atomic Design pattern. Please:
- Read relevant CLAUDE.md files before contributing
- Write tests alongside implementation
- Ensure all tests pass:
npm test - Follow existing code patterns
- Update documentation for new features
Current Status: Phases 0, 1, & 2 complete. Ready for Phase 3 (Frontend Components) and Phase 4 (Frontend Pages).