How ibrahimfaisal12/salespd works
salespd is a sales-performance dashboard: users create an account or sign in, then access protected sales metrics and charts. A separate Python ingestion script reads the supplied Superstore CSV, normalizes and cleans sales records, and upserts them into Supabase; the dashboard presents sales data from that backend. The dashboard excerpt confirms monthly and regional visualizations, KPI displays, refresh and error handling, and sign-out, but omits its fetch implementation, so the precise query and aggregation wiring cannot be verified here.
Main entry points: Dashboard.jsx Dashboard View · supabaseClient.js Supabase Client · App.jsx App Router · ProtectedRoute.jsx Route Guard
Components 10
Web Application
- App Router
src/App.jsx
Authentication
- Login / Signup
src/pages/Login.jsx - Route Guard
src/components/ProtectedRoute.jsx - Supabase Client
src/supabaseClient.js - Supabase
Sales Analytics
- Dashboard View
src/pages/Dashboard.jsx - fact_sales
Data Ingestion
- Superstore CSV
Superstore Sales Dataset.csv - Ingest and Clean
ingestion/ingest.py
Other components
- Dashboard User
Connections 12
- Dashboard User → App Router: opens
- App Router → Login / Signup: routes to
- App Router → Route Guard: protects
- Route Guard → Dashboard View: renders when authorized
- Login / Signup → Supabase Client: authenticates
- Route Guard → Supabase Client: checks session
- Dashboard View → Supabase Client: signs out
- Supabase Client → Supabase: auth requests
- Dashboard View → fact_sales: loads sales data
- fact_sales → Dashboard View: supplies records
- Superstore CSV → Ingest and Clean: provides rows
- Ingest and Clean → fact_sales: cleans and upserts