Key Information

Register
Submit
The challenge is finished.

Challenge Overview

In this challenge series we are adding support for user notifications. This challenge will implement the new frontend pages for Topcoder Connect base on the provided designs. 
API integration is out of scope so please mock the data used in the pages.

Here are the features of the new pages
  • Profile settings page
  • Accout settings page
  • Notifications settings page
  • Notification details page
  • Notifications dropdown list
Designs are available at https://drive.google.com/drive/folders/0B1LbmKnex41fVUpBQzBVdkpLOGs . "Refresh feed *" pages are out of scope.
 
Follow all the best practices and code style mentioned in project readme file.
The base code for this challenge is in the notifications branch at https://github.com/appirio-tech/connect-app
The winner will be required to create a pull request
 

General Requirements

- Do not include any extra third-party libraries.
- Source code and design text must be written in US-English.
- Don't overly nest your code; we'll need to abstract the final DOM into multiple components; try to stay into smaller logical pieces.
- We use autoprefixer, so don't worry about all browser-specific rules.
- When creating the component page and repo, try to break them into the separate items - make sure that header, a row, and the footer are different self-sufficient styled elements (do not overly nest the SCSS).
- Do not use external icon repositories; we're including the icons as React.js components. It is important for us to minimize external dependencies for resources (SCSS libraries, icon fonts [not good at all], icon libraries, etc.).
- Do not redeclare/style buttons and form elements that exist in the /styles/_forms.scss and the library as whole. If you need to define a button style (or extend an existing one) - think how this could happen in the /styles/_forms.scss (or relevant _*.scss) file. In the end we want to add extrapolate the styles you create int 2 places:
-- Component-specific styles (used only once).
-- Global styles (/styles/*.scss) used from all components.
 

React and Javascript Requirements

- ES6 syntax is preferred, as Babel has been setup to handle transpiling the syntax to the current JavaScript standard.
- Use .jsx extension for React components; using PascalCase for filenames. E.g., Navigation.jsx.
- Build the components using similar React components to the existing web app. There is a sample in the repo at src/components/ExampleComponent 
- Ensure that there are no lint errors.
- Write bundled jsx and scss files for each component at the same src corresponding location. For instance, for a component called “Navigation” it would be:
-- Navigation.jsx
-- Navigation.scss


Browser Requirements

- IE 11+
- Latest Chrome on Mac and Windows
- Latest Safari on Mac and Windows
- Latest Firefox on Mac and Windows
 

 



Final Submission Guidelines

Submit a git patch containing your changes to the base code.
Submit a verification document with screenshots.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30060210