How pydah-soft-projects/stationary works
Pydah Stationery Management is an offline-first stationery inventory and student-issuance platform. Staff authenticate, manage students and academic context, issue products or kits, and track receipts and transaction history; inventory, campus transfers, settings, governance, and reporting support those operations. The React app calls an Express API backed by MongoDB, with MySQL supplying student data. The graph includes documented offline behavior, but the excerpts do not establish its queue implementation or all page-to-endpoint wiring, so those links are not inferred.
Main entry points: api.js API helper · App.jsx App routing · StudentDetail.jsx Student tools · sqlStudentController.js Student services
Components 25
React application
- App routing
frontend/src/App.jsx - API helper
frontend/src/utils/api.js - Offline storage
frontend/src/utils/storage.js
Student issuance
- Student tools
frontend/src/pages/StudentDetail.jsx - Student dues
frontend/src/pages/StudentDue.jsx - Student services
backend/controllers/sqlStudentController.js - Student database
backend/config/mysql.js - Transaction history
frontend/src/pages/ChangeTransactionDate.jsx - Issuance engine
backend/controllers/transactionController.js
Inventory operations
- Product management
frontend/src/pages/stock/AddProduct.jsx - Stock management
frontend/src/pages/GeneralStock.jsx - Campus transfers
frontend/src/pages/StockTransfers.jsx - Product services
backend/controllers/productController.js - Product catalog
backend/models/productModel.js - Transfer services
backend/controllers/stockTransferController.js - Campus stock
backend/models/collegeModel.js
API and persistence
- Transactions
backend/models/transactionModel.js - Express API
backend/server.js - MongoDB
Governance and reports
- Reports
frontend/src/pages/Reports.jsx - Dashboards
frontend/src/pages/Dashboard.jsx - Audit history
backend/controllers/auditLogController.js - Admin governance
backend/controllers/subAdminController.js - Settings
frontend/src/pages/Settings.jsx
Other components
- Institution staff
Connections 26
- Institution staff → App routing: uses
README.md - App routing → Student tools: routes to
frontend/src/App.jsx - App routing → Offline storage: loads and saves
frontend/src/App.jsx - Student tools → API helper: requests data
- Student dues → API helper: requests data
- Student tools → Student services: uses student API
README.md - Student services → Student database: queries
backend/controllers/sqlStudentController.js - Student services → Transactions: reads history
backend/controllers/sqlStudentController.js - Transaction history → API helper: requests data
- Issuance engine → Transactions: writes transactions
backend/controllers/transactionController.js - Issuance engine → Product catalog: adjusts stock
backend/controllers/transactionController.js - Product management → API helper: requests data
README.md - Stock management → API helper: requests data
frontend/src/pages/GeneralStock.jsx - Campus transfers → API helper: requests data
README.md - Product services → Product catalog: manages products
backend/controllers/productController.js - Product services → Campus stock: updates campus stock
backend/controllers/productController.js - Transfer services → Campus stock: updates stock
backend/controllers/stockTransferController.js - Transfer services → Product catalog: validates products
backend/controllers/stockTransferController.js - App routing → Express API: calls API
README.md - Express API → MongoDB: connects
backend/server.js - Reports → API helper: requests data
frontend/src/pages/Reports.jsx - Dashboards → API helper: requests data
- Audit history → Transactions: reads records
backend/controllers/auditLogController.js - Admin governance → Audit history: records changes
- Settings → API helper: requests settings
- App routing → API helper: login request
frontend/src/App.jsx