Ushahidi TypeScript Application: Add Unread Message Counter

Job ID: 38303247

Budget: $30 – $250 USD

- Project Description:

I have an existing TypeScript application and need a new functionality added. The application is Ushahidi (see https://github.com/ushahidi/platform-client-mzima). The functionality to be added is an unread message counter to show users how many unread messages have been added since they accessed the site (i.e., loaded the index.html page).

- Requirements:

-- Global Variable Setup:
--- When a user opens the site and the main page loads, a global JavaScript variable should be set in the index.html page. This variable should store the current epoch time.

-- Fetch Unread Messages:
--- In the toolbar.component.ts file (located at ../apps/web-mzima-client/src/app/shared/components/toolbar), a URL with the epoch time as a parameter must be queried every 60 seconds (URL will be provided to the freelancer).
--- The URL will return a JSON output for unread messages from the initially set epoch time.
--- This value should then be displayed in the toolbar.

-- Handle Page Refresh:
--- If the user refreshes the page, the latest epoch time should be recorded and used for fetching unread messages.

- Deliverables:

-- Updated index.html:
--- Include a script to set a global variable with the current epoch time when the page loads.

-- Updated toolbar.component.ts:
--- Implement the logic to query the unread messages URL every 60 seconds using the initial epoch time.
--- Display the unread message count in the toolbar.

- Additional Information:

-- The working project repository will be provided to the freelancer or can be downloaded from https://github.com/ushahidi/platform-client-mzima.
-- Ensure the HttpClientModule is properly set up in the application to use the HttpClient service for making API requests.

Please provide an estimated timeline and cost for implementing this functionality.
Related categories: JavaScript jQuery / Prototype Node.js AngularJS