IMGIITRoorkee / IMGIITRoorkee/placement-flutter

Replace the notifications stub with real FCM notifications

Open
#54 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement P1
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 via client_identifier.
  • iOS push does not work server-side: the FCM helper builds only AndroidConfig and WebpushConfig, never APNSConfig.
  • 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 (/notifs registered, never navigated to)
  • pubspec.yaml (no firebase_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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.