# violetforu/mimiluxx architecture

> Architecture diagram of the GitHub repository violetforu/mimiluxx, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/violetforu/mimiluxx
- Repository: https://github.com/violetforu/mimiluxx

## Overview

MimiLuxx is a role-aware community workspace for organizations, tasks, proposals, approvals, announcements, and administration. Members sign in, use the dashboard and feature pages to follow work and submit or review proposals; administrators manage users, content, and operational settings. The sampled evidence shows dashboard data access, proposal-stage routing, organization loading, and announcement actions. Many feature implementations are listed but unsampled, so their internal calls and some workflow links are intentionally not asserted.

Main entry points: [`my-app-mimiluxx/app/dashboard/page.tsx`](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/dashboard/page.tsx) (Dashboard), [`my-app-mimiluxx/components/app_navigation/AppSidebar.tsx`](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/app_navigation/AppSidebar.tsx) (App Sidebar), [`my-app-mimiluxx/lib/supabase/server.ts`](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/lib/supabase/server.ts) (Server Client), [`my-app-mimiluxx/app/orgs/page.tsx`](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/orgs/page.tsx) (Organizations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Member Workspace"]
  node_dashboard["Dashboard<br/>[page.tsx]"]
  node_navigation["App Sidebar<br/>[AppSidebar.tsx]"]
  node_profile["Sidebar Profile<br/>[SidebarProfile.tsx]"]
  node_organizations["Organizations<br/>[page.tsx]"]
  node_org_carousel["Organization Carousel<br/>[OrgCarousel.tsx]"]
  node_tasks["Task Management<br/>[TaskBoard.tsx]"]
  node_task_api["Task API<br/>[route.ts]"]
end

subgraph group_workflow["Proposal Workflow"]
  node_proposals["Proposal Pages<br/>[page.tsx]"]
  node_proposal_form["New Proposal Form"]
  node_proposal_api["Proposal API<br/>[route.ts]"]
  node_approval_tracker["Approval Tracker"]
  node_approvals["Overdue Approvals<br/>[page.tsx]"]
  node_limits_form["Approval Limits Form<br/>[LimitsForm.tsx]"]
end

subgraph group_community["Community Content"]
  node_announcements["Announcement Manager"]
  node_announcement_actions["Announcement Actions<br/>[actions.ts]"]
  node_comments["Comments API<br/>[route.ts]"]
end

subgraph group_admin["Administration"]
  node_admin_panel["Admin Panel<br/>[AdminPanel.tsx]"]
  node_admin_page["Admin Data Loader<br/>[page.tsx]"]
  node_admin_actions["Admin Actions<br/>[admin.ts]"]
  node_settings["User Settings<br/>[SettingsClient.tsx]"]
end

subgraph group_platform["Identity and Data"]
  node_auth["Sign-in and Signup<br/>[page.tsx]"]
  node_supabase_server["Server Client<br/>[server.ts]"]
  node_stage_routing["Stage Routing<br/>[stageRouting.ts]"]
  node_supabase[("Supabase")]
end

node_member(("Member"))

node_member -->|"signs in"| node_auth
node_member -.->|"opens workspace"| node_dashboard
node_dashboard -->|"creates client"| node_supabase_server
node_dashboard -->|"reads tasks and profiles"| node_supabase
node_dashboard -->|"routes stages"| node_stage_routing
node_dashboard -->|"renders"| node_navigation
node_navigation -->|"creates client"| node_supabase_server
node_navigation -->|"reads user profile"| node_supabase
node_navigation -->|"renders"| node_profile
node_organizations -->|"creates client"| node_supabase_server
node_organizations -->|"reads organizations"| node_supabase
node_organizations -->|"renders"| node_org_carousel
node_proposals -->|"renders"| node_approval_tracker
node_approvals -->|"renders"| node_limits_form
node_approvals -->|"routes stages"| node_stage_routing
node_announcements -->|"invokes actions"| node_announcement_actions
node_announcement_actions -->|"creates client"| node_supabase_server
node_announcement_actions -->|"writes announcements"| node_supabase
node_admin_page -->|"renders"| node_admin_panel
node_admin_page -->|"loads admin data"| node_supabase
node_admin_actions -.->|"manages admin data"| node_supabase

click node_auth "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/login/page.tsx"
click node_dashboard "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/dashboard/page.tsx"
click node_navigation "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/app_navigation/AppSidebar.tsx"
click node_profile "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/app_navigation/SidebarProfile.tsx"
click node_organizations "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/orgs/page.tsx"
click node_org_carousel "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/orgs/OrgCarousel.tsx"
click node_tasks "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/tasks/TaskBoard.tsx"
click node_task_api "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/api/tasks/route.ts"
click node_proposals "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/proposals/%5Bid%5D/page.tsx"
click node_proposal_form "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/proposals/new/NewProposalForm.tsx"
click node_proposal_api "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/api/proposals/route.ts"
click node_approval_tracker "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/proposals/%5Bid%5D/ApprovalTracker.tsx"
click node_approvals "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/approvals/overdue/page.tsx"
click node_limits_form "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/approvals/overdue/LimitsForm.tsx"
click node_announcements "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/announcements/AnnouncementsManager.tsx"
click node_announcement_actions "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/announcements/actions.ts"
click node_comments "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/api/comments/route.ts"
click node_admin_panel "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/admin/AdminPanel.tsx"
click node_admin_page "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/admin/page.tsx"
click node_admin_actions "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/actions/admin.ts"
click node_settings "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/settings/SettingsClient.tsx"
click node_supabase_server "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/lib/supabase/server.ts"
click node_stage_routing "https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/lib/stageRouting.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dashboard,node_navigation,node_profile,node_organizations,node_org_carousel,node_tasks,node_task_api toneBlue
class node_proposals,node_proposal_form,node_proposal_api,node_approval_tracker,node_approvals,node_limits_form toneAmber
class node_announcements,node_announcement_actions,node_comments toneMint
class node_admin_panel,node_admin_page,node_admin_actions,node_settings toneRose
class node_auth,node_supabase_server,node_stage_routing,node_supabase,node_member toneIndigo
```

## Components

### Member Workspace

- [Dashboard](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/dashboard/page.tsx): `my-app-mimiluxx/app/dashboard/page.tsx`
- [App Sidebar](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/app_navigation/AppSidebar.tsx): `my-app-mimiluxx/components/app_navigation/AppSidebar.tsx`
- [Sidebar Profile](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/app_navigation/SidebarProfile.tsx): `my-app-mimiluxx/components/app_navigation/SidebarProfile.tsx`
- [Organizations](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/orgs/page.tsx): `my-app-mimiluxx/app/orgs/page.tsx`
- [Organization Carousel](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/orgs/OrgCarousel.tsx): `my-app-mimiluxx/app/orgs/OrgCarousel.tsx`
- [Task Management](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/tasks/TaskBoard.tsx): `my-app-mimiluxx/app/tasks/TaskBoard.tsx`
- [Task API](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/api/tasks/route.ts): `my-app-mimiluxx/app/api/tasks/route.ts`

### Proposal Workflow

- [Proposal Pages](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/proposals/%5Bid%5D/page.tsx): `my-app-mimiluxx/app/proposals/[id]/page.tsx`
- [New Proposal Form](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/proposals/new/NewProposalForm.tsx): `my-app-mimiluxx/app/proposals/new/NewProposalForm.tsx`
- [Proposal API](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/api/proposals/route.ts): `my-app-mimiluxx/app/api/proposals/route.ts`
- [Approval Tracker](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/proposals/%5Bid%5D/ApprovalTracker.tsx): `my-app-mimiluxx/app/proposals/[id]/ApprovalTracker.tsx`
- [Overdue Approvals](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/approvals/overdue/page.tsx): `my-app-mimiluxx/app/approvals/overdue/page.tsx`
- [Approval Limits Form](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/approvals/overdue/LimitsForm.tsx): `my-app-mimiluxx/app/approvals/overdue/LimitsForm.tsx`

### Community Content

- [Announcement Manager](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/announcements/AnnouncementsManager.tsx): `my-app-mimiluxx/app/announcements/AnnouncementsManager.tsx`
- [Announcement Actions](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/announcements/actions.ts): `my-app-mimiluxx/app/announcements/actions.ts`
- [Comments API](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/api/comments/route.ts): `my-app-mimiluxx/app/api/comments/route.ts`

### Administration

- [Admin Panel](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/admin/AdminPanel.tsx): `my-app-mimiluxx/app/admin/AdminPanel.tsx`
- [Admin Data Loader](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/admin/page.tsx): `my-app-mimiluxx/app/admin/page.tsx`
- [Admin Actions](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/actions/admin.ts): `my-app-mimiluxx/app/actions/admin.ts`
- [User Settings](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/components/settings/SettingsClient.tsx): `my-app-mimiluxx/components/settings/SettingsClient.tsx`

### Identity and Data

- [Sign-in and Signup](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/app/login/page.tsx): `my-app-mimiluxx/app/login/page.tsx`
- [Server Client](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/lib/supabase/server.ts): `my-app-mimiluxx/lib/supabase/server.ts`
- [Stage Routing](https://github.com/violetforu/mimiluxx/blob/staging/my-app-mimiluxx/lib/stageRouting.ts): `my-app-mimiluxx/lib/stageRouting.ts`
- **Supabase**

### Other components

- **Member**

## Connections

- Member → Sign-in and Signup: signs in (evidence: `my-app-mimiluxx/app/login/page.tsx`)
- Member → Dashboard: opens workspace
- Dashboard → Server Client: creates client (evidence: `my-app-mimiluxx/app/dashboard/page.tsx`)
- Dashboard → Supabase: reads tasks and profiles (evidence: `my-app-mimiluxx/app/dashboard/page.tsx`)
- Dashboard → Stage Routing: routes stages (evidence: `my-app-mimiluxx/app/dashboard/page.tsx`)
- Dashboard → App Sidebar: renders (evidence: `my-app-mimiluxx/app/dashboard/page.tsx`)
- App Sidebar → Server Client: creates client (evidence: `my-app-mimiluxx/components/app_navigation/AppSidebar.tsx`)
- App Sidebar → Supabase: reads user profile (evidence: `my-app-mimiluxx/components/app_navigation/AppSidebar.tsx`)
- App Sidebar → Sidebar Profile: renders (evidence: `my-app-mimiluxx/components/app_navigation/AppSidebar.tsx`)
- Organizations → Server Client: creates client (evidence: `my-app-mimiluxx/app/orgs/page.tsx`)
- Organizations → Supabase: reads organizations (evidence: `my-app-mimiluxx/app/orgs/page.tsx`)
- Organizations → Organization Carousel: renders (evidence: `my-app-mimiluxx/app/orgs/page.tsx`)
- Proposal Pages → Approval Tracker: renders (evidence: `my-app-mimiluxx/app/proposals/[id]/page.tsx`)
- Overdue Approvals → Approval Limits Form: renders (evidence: `my-app-mimiluxx/app/approvals/overdue/page.tsx`)
- Overdue Approvals → Stage Routing: routes stages (evidence: `my-app-mimiluxx/app/approvals/overdue/page.tsx`)
- Announcement Manager → Announcement Actions: invokes actions (evidence: `my-app-mimiluxx/app/announcements/AnnouncementsManager.tsx`)
- Announcement Actions → Server Client: creates client (evidence: `my-app-mimiluxx/app/announcements/actions.ts`)
- Announcement Actions → Supabase: writes announcements (evidence: `my-app-mimiluxx/app/announcements/actions.ts`)
- Admin Data Loader → Admin Panel: renders (evidence: `my-app-mimiluxx/app/admin/page.tsx`)
- Admin Data Loader → Supabase: loads admin data (evidence: `my-app-mimiluxx/app/admin/page.tsx`)
- Admin Actions → Supabase: manages admin data
