How masoftconsulting/cprint_react works
Campus Print is a campus printing service with a public discovery and document-printing journey, plus an admin console for operating print locations and service content. The public print flow creates an upload session, accepts documents, lets customers select print options and pay, then provides a pickup code for printing at a campus kiosk. Admins manage locations, machines and assignments, pricing, FAQ, contact messages and print-service agents. The excerpts show the browser-to-print API and public location reads; other domain wiring follows README documentation and unsampled features are represented at their enclosing paths.
Main entry points: (dashboard) Admin console · (public) Public pages · print-flow.tsx Print flow · contact Contact inbox
Components 21
Public site
- Public pages
src/app/(public) - Price calculator
src/components/price-calculator.tsx
Print journey
- Print flow
src/features/impression/components/print-flow.tsx - Upload form
src/features/impression/components/upload-form.tsx - Print API client
src/features/impression/api.ts
Print operations
- Admin console
src/app/admin/(dashboard) - Machine management
src/features/machines - Site assignments
src/features/affectations - Print locations
src/features/print-points - Print administration
src/features/impressions - Central API client
src/features/impressions/client.ts
Site management
- FAQ management
src/features/faq - Contact inbox
src/features/contact - Site settings
src/features/settings
Data and access
- Location queries
src/features/print-points/queries.ts - Admin authentication
src/features/auth - Authorization layer
src/lib/dal.ts
Other components
- Customer
- Print service
- Supabase
- SMTP mail
Connections 31
- Customer → Public pages: browses
- Public pages → Location queries: reads locations
- Public pages → Site settings: reads pricing
- Public pages → Price calculator: shows estimate
- Customer → Print flow: starts printing
- Print flow → Print API client: requests session, payment
- Print flow → Upload form: opens upload
- Upload form → Print API client: uploads files
- Print API client → Print service: calls API
- Customer → Admin console: administers service
- Admin console → Admin authentication: authenticates
- Admin console → Authorization layer: checks access
- Authorization layer → Supabase: validates user
- Admin authentication → Supabase: manages session
- Admin console → Machine management: manages machines
- Admin console → Site assignments: assigns machines
- Admin console → Print locations: manages locations
- Admin console → Print administration: manages print service
- Print administration → Central API client: invokes
- Central API client → Print service: admin API calls
- Admin console → FAQ management: edits FAQ
- Admin console → Contact inbox: handles messages
- Admin console → Site settings: edits settings
- Location queries → Supabase: reads locations and counts
- Print locations → Supabase: reads and writes locations
- Machine management → Supabase: reads and writes machines
- Site assignments → Supabase: reads and writes assignments
- FAQ management → Supabase: reads and writes FAQ
- Contact inbox → Supabase: stores messages
- Site settings → Supabase: reads and writes settings
- Contact inbox → SMTP mail: sends alert email