How deejmags/agapay works
This is a reuse marketplace with seller tools, messaging, rewards, and administration. Users enter through the React router, browse listings or manage seller activity, and use authenticated API or Firebase services for marketplace data and conversations. The Express backend exposes product, user, message, review, report, appeal, reward, and auth routes backed by Firebase. Admin screens provide operational management. The README documents only the Create React App scaffold, so product capabilities are inferred from the source tree and SOURCE INDEX; unsampled areas are represented by their exact directories, and unsupported internal links are omitted.
Main entry points: routes API route handlers · firebaseAdmin.js Firebase Admin · router.js Page routing · SellerDashboard.js Seller dashboard
Components 25
Marketplace client
- App shell
src/App.js - Page routing
src/router.js - Browse marketplace
src/pages/Marketplace.js - Product details
src/pages/ProductDetail.js - User profiles
src/pages/Profile.js - Messaging UI
src/pages/Messages.js - Message service
src/firebaseMessageService.js - Firebase client
src/firebase.js - Authenticated requests
src/utils/authFetch.js
Seller experience
- Seller dashboard
src/pages/SellerDashboard.js - Product listing
src/pages/UploadProduct.js - Seller orders
src/seller/OrdersPanel.js - Impact reporting
src/seller/ImpactReportPanel.js
API and domain services
- Express server
backend/server.js - API route handlers
backend/routes - Product operations
backend/controllers/productController.js - User operations
backend/controllers/userController.js - Message operations
backend/controllers/messageController.js - Reviews
backend/controllers/reviewController.js - Firebase Admin
backend/config/firebaseAdmin.js - Token authentication
backend/config/authMiddleware.js - Reports, appeals, rewards
backend/controllers
Administration
- Admin console
src/admin/AdminDashboard.js - Drop-off management
src/admin/DropOffManagement.js
Other components
- Marketplace users
Connections 35
- Marketplace users → App shell: opens
src/App.js - App shell → Page routing: routes through
src/router.js - Page routing → Browse marketplace: routes to
src/router.js - Page routing → Product details: routes to
src/router.js - Page routing → User profiles: routes to
src/router.js - Page routing → Messaging UI: routes to
src/router.js - Messaging UI → Message service: uses
src/pages/Messages.js - Message service → Authenticated requests: sends API requests
src/firebaseMessageService.js - Message service → Firebase client: reads and writes
src/firebaseMessageService.js - Authenticated requests → Firebase client: gets auth token
src/utils/authFetch.js - Marketplace users → Seller dashboard: manages selling
src/pages/SellerDashboard.js - Seller dashboard → Authenticated requests: requests listings
src/pages/SellerDashboard.js - Seller dashboard → Seller orders: renders
src/pages/SellerDashboard.js - Seller dashboard → Messaging UI: embeds
src/pages/SellerDashboard.js - Seller dashboard → Product listing: offers listing
- Marketplace users → Admin console: administers
- Admin console → Drop-off management: renders
src/admin/AdminDashboard.js - Admin console → Authenticated requests: uses
src/admin/AdminDashboard.js - Express server → Firebase Admin: initializes
backend/server.js - Express server → API route handlers: mounts
backend/server.js - API route handlers → Product operations: routes requests
backend/routes/productRoutes.js - API route handlers → User operations: routes requests
backend/routes/userRoutes.js - API route handlers → Message operations: routes requests
backend/routes/messageRoutes.js - API route handlers → Reviews: routes requests
backend/routes/reviewRoutes.js - API route handlers → Token authentication: protects endpoints
backend/routes/reviewRoutes.js - Product operations → Firebase Admin: uses database
backend/controllers/productController.js - User operations → Firebase Admin: uses database
backend/controllers/userController.js - Message operations → Firebase Admin: uses database
backend/controllers/messageController.js - Reviews → Firebase Admin: uses database
backend/controllers/reviewController.js - Token authentication → Firebase Admin: verifies tokens
backend/config/authMiddleware.js - Marketplace users → Browse marketplace: browses and buys
- Marketplace users → Messaging UI: communicates
- Marketplace users → User profiles: manages account
- Marketplace users → Reports, appeals, rewards: uses reports, appeals, rewards
- Impact reporting → Authenticated requests: requests data
src/seller/ImpactReportPanel.js