IMGIITRoorkee / IMGIITRoorkee/placement-flutter
Replace the notifications stub with real FCM notifications
Nobody has claimed this yet.
- Dominant language
- Dart
- Stars
- 3
- Forks
- 10
- Avg merge
- 8d 21h
- Merged PRs (30d)
- 4
Description
Problem
Raised in the placement meeting as a P1, covering three cases: personal status updates (interview shortlist, accepted), deadline reminders, and company added or updated.
The app has none of it. The notifications screen renders five hardcoded fake rows, nothing navigates to it, and there is no messaging dependency.
Most of the server side already exists and is simply unused:
- The online-admin app already emits profile-announcement and application status-update notifications.
- Token registration is
POST /api/notifications/token/, authenticated by JWT viaclient_identifier. - iOS push does not work server-side: the FCM helper builds only
AndroidConfigandWebpushConfig, neverAPNSConfig. - Deadline notifications do not exist anywhere.
Where
lib/screens/notifications/notificationsScreen.dart:17-33(five hardcoded rows)lib/services/routing/placement_routes.dart:33-34(/notifsregistered, never navigated to)pubspec.yaml(nofirebase_messaging)omniport-service-notifications/utils/fcm/fcm.py:29, 52(no APNS)omniport-service-notifications/views/token.py:28-31
Expected
Push on shortlist and accept, push on a new or updated company, plus a real in-app notification list.
Fix sketch
- Add
firebase_messaging; register the FCM token against/api/notifications/token/after login and unregister on logout. - Replace the stub with a real fetch, and add an entry point to it from the profile screen.
- iOS push and deadline notifications need backend work first and are tracked separately.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with lib/screens/notifications/notificationsScreen.dart:17-33, pubspec.yaml, and lib/services/routing/placement_routes.dart:33-34; trace the existing profile entry points and notification data flow. Then inspect omniport-service-notifications/views/token.py:28-31 and utils/fcm/fcm.py:29,52. Done means token registration works across login/logout, the screen shows fetched notifications, profile navigation reaches it, and shortlist, acceptance, and company updates produce push notifications.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, firebase, flutter, python
- Domain
- api, backend-api-design, mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100