Stack:
- Django
- DRF
- django-fcm + APS(Advanced Python Scheduler)(easier to handle) OR Google Calendar API (which needs OAuth2.0)
Functionality:
- Create Events
- Subscribe to topics and Events
- Notify users about starting time
- Create Attendance list with scan to confirm presence
- Analytics on the event to the creator
Models:
- Event
- Event Name
- Start timestamp
- End timestamp
- ForeignKey to Tag
- Location
- Seats
- Contact email
- Contact phone number
- Registration deadline
- Tag
- Name
- User
- Attendee(linked to the SmartCampus user)
- User
- Event
- Event status = [INTERESTED, GOING, DEFAULT=Not Going]
- Event rating
- Event feedback
Procedure 1.0:
Event creation → Assign tags → Notify event to subscribers → Choose interested/going → Users notified using APS + FCM on the backend before a fixed time for the event.
Cons: Slightly larger code
Procedure 2.0: