How daiki0918/cosmopolitanmemorial works
Cosmopolitan Funeral Homes is a public funeral-home website with an administrative backend for branch and inquiry operations. Visitors browse information and branches, submit inquiries, and can track them; staff authenticate to manage branches, inquiries, users, and published content. The README confirms inquiry intake, reference numbers, status workflow, branch search, RBAC, and dashboard aggregates. The sampled files establish routing, authentication, models, and frontend API behavior; several route implementations were not excerpted, so uncertain service-to-storage links are marked dashed.
Main entry points: App.tsx Web Router · api.ts API Client · app.ts Express Router · index.ts Domain Models
Components 20
Public and Admin Web
- Web Router
apps/web/src/App.tsx - Home Content
apps/web/src/pages/Home.tsx - Branch Search
apps/web/src/pages/Branches.tsx - Inquiry Form
apps/web/src/pages/Contact.tsx - Inquiry Tracking
apps/web/src/pages/TrackInquiry.tsx - Public Pages
apps/web/src/pages/Public.tsx - Admin Workspace
apps/web/src/admin/Admin.tsx - Team Management
apps/web/src/admin/Team.tsx - API Client
apps/web/src/lib/api.ts
API Workflows
- Express Router
apps/api/src/app.ts - Public Endpoints
apps/api/src/routes/public.ts - Admin Operations
apps/api/src/routes/admin.ts - Content Endpoints
apps/api/src/routes/content.ts
Identity and Access
- Session State
apps/web/src/lib/auth.tsx - Auth Endpoints
apps/api/src/routes/auth.ts - Auth Middleware
apps/api/src/middleware/auth.ts - Role Permissions
apps/api/src/config/permissions.ts
Persistent Domain Data
- Domain Models
apps/api/src/models/index.ts
Other components
- Visitor
- Admin Staff
Connections 27
- Visitor → Web Router: browses
- Admin Staff → Web Router: uses
- Web Router → Home Content: routes to
apps/web/src/App.tsx - Web Router → Branch Search: routes to
apps/web/src/App.tsx - Web Router → Inquiry Form: routes to
apps/web/src/App.tsx - Web Router → Inquiry Tracking: routes to
apps/web/src/App.tsx - Web Router → Public Pages: routes to
apps/web/src/App.tsx - Web Router → Admin Workspace: routes to
apps/web/src/App.tsx - Web Router → Team Management: routes to
apps/web/src/App.tsx - Branch Search → API Client: requests data
apps/web/src/pages/Branches.tsx - Inquiry Form → API Client: submits inquiry
apps/web/src/pages/Contact.tsx - Inquiry Tracking → API Client: looks up inquiry
apps/web/src/pages/TrackInquiry.tsx - Admin Workspace → API Client: requests operations
apps/web/src/admin/Admin.tsx - Team Management → API Client: requests team data
apps/web/src/admin/Team.tsx - Session State → API Client: refreshes session
apps/web/src/lib/auth.tsx - API Client → Express Router: calls API
- Express Router → Auth Endpoints: dispatches
apps/api/src/app.ts - Express Router → Public Endpoints: dispatches
apps/api/src/app.ts - Express Router → Admin Operations: dispatches
apps/api/src/app.ts - Express Router → Content Endpoints: dispatches
apps/api/src/app.ts - Express Router → Auth Middleware: handles errors
apps/api/src/app.ts - Auth Endpoints → Auth Middleware: requires authentication
apps/api/src/routes/auth.ts - Auth Middleware → Role Permissions: checks roles
apps/api/src/middleware/auth.ts - Auth Endpoints → Domain Models: reads and updates
apps/api/src/routes/auth.ts - Public Endpoints → Domain Models: reads and creates
apps/api/src/routes/public.ts - Admin Operations → Domain Models: manages records
apps/api/src/routes/admin.ts - Content Endpoints → Domain Models: manages content
apps/api/src/routes/content.ts