How itigges22/movalab works
MovaLab is a self-hosted professional-services automation platform for agencies. The principal workflow is: an authenticated team member manages projects and tasks, records time and availability, and uses capacity analytics to decide whether work can be accepted; workflows and the client portal provide governed handoffs and external visibility. Sampled routes confirm Supabase-backed authorization, project/task/time operations, and capacity calculations. Workflow, analytics, and portal branches are represented from the documented capabilities and tree, but their internal call wiring was not sampled.
Components 26
Identity and Access
- Login and Signup
app/login/page.tsx - Authentication
lib/auth-server.ts - Access Control
lib/access-control-server.ts - Roles API
app/api/roles/route.ts
Projects and Tasks
- Project Workspace
app/projects/page.tsx - Projects API
app/api/projects/route.ts - Tasks API
app/api/tasks/[taskId]/route.ts - Task Service
lib/task-service-db.ts
Time and Capacity
- Time Tracking
app/time-entries/page.tsx - Time Entries API
app/api/time-entries/route.ts - Clock API
app/api/clock/route.ts - Availability API
app/api/availability/route.ts - Availability Service
lib/services/availability-service.ts - Capacity Dashboard
app/capacity/page.tsx - Capacity APIs
app/api/capacity
Workflows and Clients
- Workflow Builder
components/workflow-editor/workflow-canvas.tsx - Workflow APIs
app/api/workflows - Workflow Execution
lib/workflow-execution-service.ts - Client Portal
app/(client-portal)/client-portal/page.tsx - Client Portal API
app/api/client/portal/projects/route.ts
Insights and Administration
- Role Administration
app/admin/roles/page.tsx - Analytics Dashboard
app/analytics/page.tsx - Analytics APIs
app/api/analytics
Other components
- Team or Client
- Supabase PostgreSQL
- Email Delivery
lib/email/mailer.ts
Connections 30
- Team or Client → Login and Signup: signs in
- Login and Signup → Authentication: authenticates
- Role Administration → Roles API: manages roles
- Roles API → Access Control: checks permission
- Roles API → Supabase PostgreSQL: reads/writes
- Team or Client → Project Workspace: manages work
- Project Workspace → Projects API: loads projects
- Projects API → Access Control: checks access
- Projects API → Supabase PostgreSQL: reads/writes
- Tasks API → Access Control: checks project access
- Tasks API → Task Service: updates tasks
- Task Service → Supabase PostgreSQL: reads/writes
- Team or Client → Time Tracking: logs time
- Time Tracking → Time Entries API: submits entries
- Time Entries API → Access Control: checks permission
- Time Entries API → Supabase PostgreSQL: reads/writes
- Clock API → Supabase PostgreSQL: records sessions
- Availability API → Availability Service: manages availability
- Team or Client → Capacity Dashboard: reviews capacity
- Capacity Dashboard → Capacity APIs: loads utilization
- Capacity APIs → Access Control: checks visibility
- Capacity APIs → Supabase PostgreSQL: reads schedules
- Workflow Builder → Workflow APIs: edits workflows
- Workflow APIs → Workflow Execution: starts workflows
- Team or Client → Client Portal: reviews projects
- Client Portal → Client Portal API: approves or comments
- Client Portal API → Supabase PostgreSQL: reads/writes
- Analytics Dashboard → Analytics APIs: loads metrics
- Analytics APIs → Supabase PostgreSQL: reads data
- Client Portal API → Email Delivery: sends invitations