How swaroopedupulapati/vmp_media works
VMP is a role-based volunteer management platform. Volunteers discover events, request participation, check in to attendance sessions, accrue hours, and view impact; coordinators manage event lifecycles and attendance, while administrators oversee users and platform activity. Flask registers the domain blueprints and serves role-specific interfaces, with MongoDB-backed state and GridFS media storage. The README also documents certificates, real-time chat, an Ollama assistant, and web push. Some route implementations were not sampled, so uncertain integrations and internal call links are omitted.
Main entry points: __init__.py Flask application · models.py MongoDB collections · utils.py Shared utilities · attendance.py Attendance tracking
Components 23
Web platform
- Flask application
vmp/__init__.py - Authentication
vmp/routes/auth.py - Volunteer experience
vmp/routes/student.py - Coordinator tools
vmp/routes/coordinator.py - Administration
vmp/routes/admin.py - Role dashboards
templates
Events and impact
- Event discovery
vmp/routes/main.py - Attendance tracking
vmp/routes/attendance.py - Hours and badges
vmp/routes/impact.py - Certificate generation
vmp/certificates.py
Community features
- Social feed
vmp/routes/main.py - Volunteer connections
vmp/routes/connections.py - Real-time chat
vmp/routes/chat.py - Socket events
vmp/socket_events.py
Platform services
- AI assistant
vmp/routes/ai.py - Ollama
- Push notifications
vmp/routes/push.py - Push browser client
static/js/push-notifications.js - Offline and push worker
static/sw.js - Shared utilities
vmp/utils.py
Persistence
- MongoDB collections
vmp/models.py - GridFS media
vmp/models.py
Other components
- Platform users
Connections 40
- Platform users → Flask application: uses
- Flask application → Authentication: registers routes
- Flask application → Volunteer experience: registers routes
- Flask application → Coordinator tools: registers routes
- Flask application → Administration: registers routes
- Flask application → Event discovery: registers routes
- Flask application → Attendance tracking: registers routes
- Flask application → Hours and badges: registers routes
- Flask application → Social feed: registers routes
- Flask application → Volunteer connections: registers routes
- Flask application → Real-time chat: registers routes
- Flask application → AI assistant: registers routes
- Flask application → Push notifications: registers routes
- Flask application → Role dashboards: selects templates
- Authentication → MongoDB collections: reads and writes
- Authentication → Shared utilities: uses helpers
- Event discovery → MongoDB collections: reads data
- Event discovery → GridFS media: serves media
- Coordinator tools → MongoDB collections: reads and writes
- Coordinator tools → Shared utilities: notifies and logs
- Attendance tracking → MongoDB collections: reads and writes
- Attendance tracking → Shared utilities: notifies and logs
- Attendance tracking → Role dashboards: renders attendance
- Hours and badges → MongoDB collections: reads activity
- Volunteer experience → MongoDB collections: reads data
- Administration → MongoDB collections: reads and writes
- Administration → Shared utilities: logs actions
- Social feed → MongoDB collections: reads and writes
- Social feed → Shared utilities: creates notifications
- Volunteer connections → MongoDB collections: reads and writes
- Real-time chat → MongoDB collections: reads and writes
- Flask application → Socket events: loads handlers
- Socket events → Real-time chat: joins chat rooms
- AI assistant → Ollama: requests responses
- Push browser client → Push notifications: submits subscription
- Push browser client → Offline and push worker: registers worker
- Push notifications → MongoDB collections: stores subscriptions
- Offline and push worker → Platform users: shows notifications
- Offline and push worker → Platform users: serves offline pages
- Certificate generation → Platform users: generates PDF