Challenge Overview
Challenge Objectives
Change existing mock call to the integration with backend
Project Background
Currently, we implemented the Notifications Popup and Listing page using mock data. We looking for your help change make calls to real backend API.
Notifications Popup: https://marvelapp.com/89423f8/screen/65608885
Notifications Listing Page: https://marvelapp.com/89423f8/screen/65608868
Technology Stack
Code Access
The work is to be done in the following repositories (please use notifications branch to each repo):
Individual requirements
1) Remove mock data
Need to remove mock data sample from ‘topcoder-react-lib/src/services/notifications.js’
2) JWT Authentication
To get notifications from backend, need to pass member authentication via JWT.
3) Calls / Endpoints
4) API errors
If get any error from API when try getting the data, please reuse existing error implementation in ‘topcoder-react-lib/src/services/submissions.js’
Important Notes
Should you have any doubts, do not hesitate to ask for clarifications in the challenge forum!
Change existing mock call to the integration with backend
Project Background
Currently, we implemented the Notifications Popup and Listing page using mock data. We looking for your help change make calls to real backend API.
Notifications Popup: https://marvelapp.com/89423f8/screen/65608885
Notifications Listing Page: https://marvelapp.com/89423f8/screen/65608868
Technology Stack
- Node.js
- JavaScript
- React.js
- Kafka
Code Access
The work is to be done in the following repositories (please use notifications branch to each repo):
Individual requirements
1) Remove mock data
Need to remove mock data sample from ‘topcoder-react-lib/src/services/notifications.js’
2) JWT Authentication
To get notifications from backend, need to pass member authentication via JWT.
- Please check ‘topcoder-react-lib/src/services/communities.js’ the getList() function.
3) Calls / Endpoints
- getNotifications()
- Endpoint: https://api.topcoder-dev.com/v5/notifications/?platform=community
- markNotificationAsRead(item)
- Endpoint: https://api.topcoder-dev.com/v5/notifications/<ID>/read
- markAllNotificationAsRead()
- Endpoint: https://api.topcoder-dev.com/v5/notifications/read
- markAllNotificationAsSeen()
- Endpoint: https://api.topcoder-dev.com/v5/notifications/seen
- dismissChallengeNotifications()
- Endpoint:
- To see more details and information about tc-notifications service, please check this repo: https://github.com/topcoder-platform/tc-notifications
4) API errors
If get any error from API when try getting the data, please reuse existing error implementation in ‘topcoder-react-lib/src/services/submissions.js’
Important Notes
- You should follow the best practices established in the repository:
- We use this stand-alone library: https://github.com/topcoder-platform/topcoder-react-lib for any actions/reducers/services of current ReactJS based app.
- As part of this challenge submission, you also might need to improve https://github.com/topcoder-platform/topcoder-react-lib for any actions/reducers/services updates
- Properly use Redux. Properly split code into reusable, self-contained React components, conveniently grouped inside folder structure;
- Do not violate ESLint rules for JS code, nor StyleLint rules for SCSS;
- Properly use babel-plugin-react-css-modules and / or react-css-theme for styling;
- Use SCSS variables and mixins from the global stylesheets (/src/styles/_tc-styles.scss). Especially, when it relates to colors, fonts, etc;
- Do not break existing unit tests.
- Etc.;
Should you have any doubts, do not hesitate to ask for clarifications in the challenge forum!
Final Submission Guidelines
- Submit a git patch for each repo.
- Make sure to mention the exact commits so we can apply your patch file.
- The winner must create a PR against our repos.