How kirtiraj01/printflow works
PrintFlow is a campus print-ordering and station-management product. Students upload PDFs, choose print options, pay, and track pickup; attendants authenticate, triage orders, inspect documents, manage pickup and configure station rates. The backend validates uploads and pricing, maintains order and student state, and serves the two user experiences. The README documents wallet top-up, refunds, and station hardware details; some client wiring and these implementation paths are not sampled, so uncertain links are omitted.
Main entry points: ordersApi.js Orders API · StudentApp.jsx Student ordering · AdminDashboard.jsx Attendant dashboard · server.js HTTP server
Components 34
Student portal
- Application shell
client/src/App.jsx - Student ordering
client/src/components/student/StudentApp.jsx - Upload and options
client/src/components/student/StudentUploadFlow.jsx - Payment UI
client/src/components/student/PaymentModal.jsx - Order tracking
client/src/components/student/OrderStatusView.jsx - Student profile
client/src/components/student/StudentProfile.jsx - Student orders
client/src/components/student/StudentOrders.jsx
Attendant desk
- Attendant login
client/src/components/admin/AdminLoginGate.jsx - Attendant dashboard
client/src/components/admin/AdminDashboard.jsx - Order triage
client/src/components/admin/AdminOrderQueue.jsx - Pickup manager
client/src/components/admin/AdminPickupList.jsx - Order history
client/src/components/admin/AdminHistoryList.jsx - PDF inspection
client/src/components/admin/AdminOrderDetailModal.jsx - Station settings
client/src/components/admin/AdminStationSettingsModal.jsx
Client API
- HTTP client
client/src/api/client.js - Orders API
client/src/api/ordersApi.js - Student API
client/src/api/studentsApi.js - Authentication API
client/src/api/authApi.js - Station API
client/src/api/stationApi.js
Backend services
- HTTP server
server/src/server.js - Order routes
server/src/routes/orderRoutes.js - Student routes
server/src/routes/studentRoutes.js - Auth routes
server/src/routes/authRoutes.js - Station routes
server/src/routes/stationRoutes.js - Order processing
server/src/controllers/orderController.js - Student sessions
server/src/controllers/studentController.js - Admin authentication
server/src/controllers/authController.js - Station management
server/src/controllers/stationController.js - PDF upload handling
server/src/middleware/upload.js - Price calculation
server/src/utils/priceCalculator.js - PDF utilities
server/src/utils/pdfUtils.js - Pickup code generation
server/src/utils/orderCodeGenerator.js
Other components
- Student
- Attendant
Connections 42
- Student → Application shell: uses
- Attendant → Application shell: opens desk
- Application shell → Student ordering: renders
- Application shell → Attendant dashboard: renders
- Application shell → Attendant login: opens login
- Student ordering → Upload and options: presents upload
- Student ordering → Payment UI: presents payment
- Student ordering → Order tracking: presents tracking
- Student ordering → Student profile: presents profile
- Student ordering → Student orders: presents orders
- Attendant dashboard → Order triage: presents queue
- Attendant dashboard → Pickup manager: presents pickup
- Attendant dashboard → Order history: presents history
- Attendant dashboard → Station settings: presents settings
- Order triage → PDF inspection: opens details
- Upload and options → Orders API: submits order
- Payment UI → Orders API: submits payment choice
- Student orders → Orders API: requests orders
- Order tracking → Orders API: requests status
- Student profile → Student API: updates profile
- Attendant login → Authentication API: authenticates
- Order triage → Orders API: updates status
- Pickup manager → Orders API: updates handover
- PDF inspection → Orders API: requests PDF
- Station settings → Station API: updates rates
- Orders API → HTTP client: requests
- Student API → HTTP client: requests
- Authentication API → HTTP client: requests
- Station API → HTTP client: requests
- HTTP client → HTTP server: sends HTTP
- HTTP server → Order routes: mounts
- HTTP server → Student routes: mounts
- HTTP server → Auth routes: mounts
- HTTP server → Station routes: mounts
- Order routes → PDF upload handling: accepts upload
- Order routes → Order processing: dispatches
- Student routes → Student sessions: dispatches
- Auth routes → Admin authentication: dispatches
- Station routes → Station management: dispatches
- Order processing → PDF utilities: counts pages
- Order processing → Price calculation: calculates price
- Order processing → Pickup code generation: generates code