How gagishmagi/flask-react-northwind-crm works
This is a Northwind-backed CRM dashboard: users see customer, product, employee, and order counts, and the frontend includes a product-list and product-management interface. The Flask API serves count and product endpoints backed by PostgreSQL. The sampled App.jsx currently renders the dashboard; Products.jsx exists but is not mounted there. The graph reflects sampled frontend/API code and the documented Swagger asset; other frontend or backend capabilities are not inferred.
Main entry points: app.py Flask routes · main.jsx React entry · App.jsx App shell · Dashboard.jsx Dashboard counts
Components 12
CRM frontend
- React entry
frontend/src/main.jsx - App shell
frontend/src/App.jsx - Dashboard counts
frontend/src/components/Dashboard.jsx - Product management
frontend/src/components/Products.jsx
Flask API
- Flask routes
backend/app.py - Product queries
backend/app.py - Count queries
backend/app.py - DB connection
backend/app.py
Data and schema
- Northwind database
- Northwind schema
backend/northwind.sql
API documentation
- Swagger specification
backend/static/swagger.json
Other components
- CRM user
Connections 15
- CRM user → React entry: opens
- React entry → App shell: renders
- App shell → Dashboard counts: renders
- CRM user → Product management: selects products
- Dashboard counts → Flask routes: fetches counts
- Product management → Flask routes: requests products
- Flask routes → Product queries: calls
- Flask routes → Count queries: calls
- Product queries → DB connection: opens connection
- Count queries → DB connection: opens connection
- DB connection → Northwind database: connects
- Product queries → Northwind database: reads and writes
- Count queries → Northwind database: counts records
- Northwind schema → Northwind database: defines schema
- Flask routes → Swagger specification: serves specification