How tinh582/projectht works
HT Parking is a role-based parking management product for customers, staff, and administrators. The main customer journey runs from sign-in and subscription eligibility through vehicle registration, slot selection, payment confirmation, and parking-session management; staff handle check-in and payment verification, while administrators manage users, pricing, zones, and reports. React screens call an Express API that enforces roles and uses Supabase Auth/PostgreSQL. The README documents database-backed operations and Roboflow plate extraction; some feature handlers and integrations were not excerpted, so their links are limited to documented or indexed evidence.
Main entry points: App.jsx App routing · app.js Express routing · AdminDashboard.jsx Admin dashboard · Dashboard.jsx Customer dashboard
Components 29
Customer experience
- App routing
frontend/src/App.jsx - Landing
frontend/src/components/Landing.jsx - Sign-in
frontend/src/components/Login.jsx - Registration
frontend/src/components/Register.jsx - Subscription plans
frontend/src/components/user/ActivationPricing.jsx - Customer dashboard
frontend/src/components/user/Dashboard.jsx - Vehicle management
frontend/src/components/user/VehicleDialog.jsx - Slot selection
frontend/src/components/user/SlotPreviewModal.jsx - Customer payments
frontend/src/components/user/UserPayment.jsx
Staff operations
- Staff dashboard
frontend/src/components/staff/StaffDashboard.jsx - Check-in screen
frontend/src/components/staff/StaffCheckin.jsx
Administration
- Admin dashboard
frontend/src/components/admin/AdminDashboard.jsx - User management
frontend/src/components/admin/AdminUsers.jsx - Pricing management
frontend/src/components/admin/AdminPricing.jsx - Reports
frontend/src/components/admin/AdminReports.jsx - Zone management
frontend/src/components/admin/AdminZones.jsx
API and access
- API client
frontend/src/lib/api.js - Express routing
backend/app.js - Authentication and roles
backend/src/auth.js - Customer API
backend/src/components/user/Dashboard.js - Payment API
backend/src/components/user/UserPayment.js - Vehicle API
backend/src/components/user/VehicleDialog.js - Staff check-in API
backend/src/components/staff/StaffCheckin.js - Admin user API
backend/src/components/admin/AdminUsers.js - Sensitive-data purge
backend/src/privacyEngine.js
Data and integrations
- Supabase client setup
backend/config/supabase.js - Supabase Auth and PostgreSQL
- Roboflow plate workflow
Other components
- Parking users
Connections 37
- Parking users → Landing: opens
frontend/src/components/Landing.jsx - Landing → App routing: requests navigation
frontend/src/App.jsx - App routing → Sign-in: renders
frontend/src/App.jsx - App routing → Registration: renders
frontend/src/App.jsx - App routing → Subscription plans: gates access
frontend/src/App.jsx - App routing → Customer dashboard: loads dashboard
frontend/src/App.jsx - App routing → Staff dashboard: loads by role
frontend/src/App.jsx - App routing → Admin dashboard: loads by role
frontend/src/App.jsx - Customer dashboard → Vehicle management: manages vehicles
frontend/src/components/user/Dashboard.jsx - Customer dashboard → Customer payments: opens payments
frontend/src/components/user/Dashboard.jsx - Customer dashboard → Slot selection: selects slots
frontend/src/components/user/Dashboard.jsx - Staff dashboard → Check-in screen: offers check-in
- Admin dashboard → User management: offers user controls
- Admin dashboard → Pricing management: offers pricing controls
- Admin dashboard → Reports: offers reports
- Admin dashboard → Zone management: offers zone controls
- Sign-in → API client: calls API
frontend/src/components/Login.jsx - Registration → API client: calls API
frontend/src/components/Register.jsx - App routing → API client: verifies session
frontend/src/App.jsx - API client → Express routing: sends requests
- Express routing → Authentication and roles: applies authorization
backend/app.js - Express routing → Customer API: mounts routes
backend/app.js - Express routing → Payment API: mounts routes
backend/app.js - Express routing → Vehicle API: mounts routes
backend/app.js - Express routing → Staff check-in API: mounts routes
backend/app.js - Express routing → Admin user API: mounts routes
backend/app.js - Customer API → Sensitive-data purge: purges user data
backend/src/components/user/Dashboard.js - Admin user API → Sensitive-data purge: purges user data
backend/src/components/admin/AdminUsers.js - Supabase client setup → Supabase Auth and PostgreSQL: configures clients
- Authentication and roles → Supabase Auth and PostgreSQL: checks identity and role
backend/src/auth.js - Customer API → Supabase Auth and PostgreSQL: reads and updates records
backend/src/components/user/Dashboard.js - Payment API → Supabase Auth and PostgreSQL: manages payment requests
- Vehicle API → Supabase Auth and PostgreSQL: manages vehicles
- Staff check-in API → Supabase Auth and PostgreSQL: records check-in
- Admin user API → Supabase Auth and PostgreSQL: manages accounts
backend/src/components/admin/AdminUsers.js - Sensitive-data purge → Supabase Auth and PostgreSQL: purges personal data
backend/src/privacyEngine.js - Vehicle API → Roboflow plate workflow: extracts plates