How samkwibe/cs-499_project_capstone works
MunchiesSNHU is a campus food-waste tracking application: staff and admins authenticate, record and manage waste, and publish approved entries; students view published campus metrics. The backend also provides reporting, prioritization, staff/user administration, feedback, tips, notifications, and an AI sustainability assistant. The README documents the main workflow and capabilities; several secondary controllers and frontend scripts are present in the tree but were not sampled, so their internal interactions are not asserted here.
Main entry points: snhu-foodwaste-backend/app.js Express app · foodWasteRoutes.js Waste routes · js/app.js App interactions · User.js User accounts
Components 27
Web experience
- App interactions
public/js/app.js - Auth helpers
public/js/auth.js - Chat interface
public/js/chatbot.js - Dashboard enhancements
public/js/dashboardEnhancements.js - Chart theming
public/js/chartTheme.js - Theme preferences
public/js/theme.js
API and access
- Express app
snhu-foodwaste-backend/app.js - Authentication routes
snhu-foodwaste-backend/routes/authRoutes.js - Authentication middleware
snhu-foodwaste-backend/middleware/authMiddleware.js - Account controller
snhu-foodwaste-backend/controllers/authController.js - Server startup
snhu-foodwaste-backend/server.js
Waste operations
- Waste routes
snhu-foodwaste-backend/routes/foodWasteRoutes.js - Waste controller
snhu-foodwaste-backend/controllers/wasteEntryController.js - Priority scoring
snhu-foodwaste-backend/utils/wastePriority.js - Waste input validation
snhu-foodwaste-backend/utils/sanitizeWasteBody.js
Campus services
- AI sustainability assistant
snhu-foodwaste-backend/controllers/chatController.js - Chat routes
snhu-foodwaste-backend/routes/chatRoutes.js - Feedback service
snhu-foodwaste-backend/controllers/feedbackController.js - Sustainability tips
snhu-foodwaste-backend/controllers/tipsController.js - Notification settings
snhu-foodwaste-backend/controllers/notificationController.js - Staff administration
snhu-foodwaste-backend/controllers/staffController.js - User administration
snhu-foodwaste-backend/controllers/userController.js
Persistence
- Waste entries
snhu-foodwaste-backend/models/FoodWasteEntry.js - User accounts
snhu-foodwaste-backend/models/User.js - MongoDB connection
snhu-foodwaste-backend/config/db.js
Other components
- Staff / admin
- Student
Connections 30
- Staff / admin → App interactions: uses
- Student → App interactions: uses
- App interactions → Express app: calls API
README.md - Auth helpers → Express app: sends auth requests
README.md - Chat interface → Express app: requests chat
- Dashboard enhancements → Express app: requests metrics
- Chart theming → Dashboard enhancements: styles charts
- Theme preferences → App interactions: sets theme
- Express app → Authentication routes: mounts
snhu-foodwaste-backend/app.js - Express app → Waste routes: mounts
snhu-foodwaste-backend/app.js - Express app → Chat routes: mounts
snhu-foodwaste-backend/app.js - Express app → Feedback service: mounts feedback routes
snhu-foodwaste-backend/app.js - Express app → Sustainability tips: mounts tip routes
snhu-foodwaste-backend/app.js - Authentication routes → Account controller: dispatches
snhu-foodwaste-backend/routes/authRoutes.js - Authentication routes → Authentication middleware: protects routes
snhu-foodwaste-backend/routes/authRoutes.js - Account controller → User accounts: reads and writes
snhu-foodwaste-backend/controllers/authController.js - Waste routes → Authentication middleware: protects operations
snhu-foodwaste-backend/routes/foodWasteRoutes.js - Waste routes → Waste controller: dispatches CRUD
snhu-foodwaste-backend/routes/foodWasteRoutes.js - Waste routes → Waste entries: queries reports
snhu-foodwaste-backend/routes/foodWasteRoutes.js - Waste routes → Priority scoring: ranks entries
snhu-foodwaste-backend/routes/foodWasteRoutes.js - Waste controller → Waste input validation: cleans input
snhu-foodwaste-backend/controllers/wasteEntryController.js - Waste controller → Waste entries: reads and writes
snhu-foodwaste-backend/controllers/wasteEntryController.js - Chat routes → AI sustainability assistant: dispatches
snhu-foodwaste-backend/routes/chatRoutes.js - AI sustainability assistant → Waste entries: reads campus data
snhu-foodwaste-backend/controllers/chatController.js - AI sustainability assistant → Student: answers questions
- Staff administration → User accounts: manages staff
snhu-foodwaste-backend/controllers/staffController.js - Notification settings → User accounts: reads preferences
snhu-foodwaste-backend/controllers/notificationController.js - User administration → User accounts: manages accounts
snhu-foodwaste-backend/controllers/userController.js - Server startup → MongoDB connection: connects database
snhu-foodwaste-backend/server.js - Server startup → Express app: starts
snhu-foodwaste-backend/server.js