tomstaan / cm-fe-developer-task

Pre-interview task for full-stack/front-end developers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Readme

File locations

Connect Mór pre-interview task

The following task will display your understanding of some basic react fundamentals such as states, contexts, effects, etc. It should take evening to complete for a junior react developer.

The task is based on the Material Dashboard React template by Creative-Tim. We have included some documentation below the task description.

Requirements

  • vscode
  • git + github account
  • node
  • yarn

Setup

  • Create a fork of this repo in your own github
  • Clone the repo locally to your development directory git clone https://github.com/{YOUR_GITHUB_USER}/cm-fe-developer-task
  • Enter the directory cd cm-fe-developer-task
  • Install the environment npm install
  • Start the app yarn start

Note: Workspace settings for VSCode are included in this repo which will help you with eslinting errors

Part 1

  • In the "Table List" section Populate table 1 with HR departments from src/assets/data/HR.json (you can use src/components/Table/Table.js as a basis for your table component)
  • You should be able to select each Row of the table using a checkbox/radio button or similar

Part 2

  • Display data from Users API in table 2 (choose any 5 or 6 columns that you think are useful) https://randomuser.me/api/?seed={department}&results=10
  • Using the selected department from table 1, table 2 should update displaying the employees from that category
  • The data should refresh without the need to refresh the page
  • Refreshing the page should still show the previous data selected and not revert to the default

Extra

For extra points add extra style or components to enhance the look and feel of the tables

Submission

Send a link to your github repo with the the finished task to jobs@connectmor.ie with the title "cm-fe-developer-task".


Documentation

version license GitHub issues open GitHub issues closed Join the chat at https://gitter.im/NIT-dgp/General Chat

Product Gif

Material Dashboard React is a free Material-UI Admin with a fresh, new design inspired by Google's Material Design. We are very excited to introduce our take on the material concepts through an easy to use and beautiful set of components. Material Dashboard React was built over the popular Material-UI framework.

Material Dashboard React makes use of light, surface and movement. The general layout resembles sheets of paper following multiple different layers, so that the depth and order is obvious. The navigation stays mainly on the left sidebar and the content is on the right inside the main panel.

Material Dashboard React comes with 5 color filter choices for both the sidebar and the card headers (blue, green, orange, red and purple) and an option to have a background image on the sidebar.

Material Dashboard React was created using create-react-app and it uses a framework built by our friend Olivier - Material-UI v3.1.0, who did an amazing job creating the backbone for the material effects, animations, ripples and transitions. Big thanks to his team for the effort and forward thinking they put into it.

Special thanks go to:

We are very excited to share this dashboard with you and we look forward to hearing your feedback!

You can find the Github Repo here.

Table of Contents

Versions

HTML React Vue Angular
Material Dashboard HTML Material Dashboard React Vue Material Dashboard Material Dashboard Angular

Demo

Dashboard User Profile Tables Maps Notification
Start page User profile page Tables page Maps Page Notification page

View More.

Quick start

Quick start options:

Documentation

The documentation for the Material Dashboard React is hosted at our website.

File Structure

Within the download you'll find the following directories and files:

material-dashboard-react
.
├── CHANGELOG.md
├── ISSUE_TEMPLATE.md
├── LICENSE.md
├── README.md
├── bower.json
├── gulpfile.js
├── jsconfig.json
├── package.json
├── documentation
│   ├── assets
│   │   ├── css
│   │   ├── img
│   │   │   └── faces
│   │   └── js
│   └── tutorial-components.html
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
└── src
    ├── index.js
    ├── logo.svg
    ├── routes.js
    ├── assets
    │   ├── css
    │   │   └── material-dashboard-react.css
    │   ├── github
    │   │   ├── md-react.gif
    │   │   └── react.svg
    │   ├── img
    │   │   └── faces
    │   └── jss
    │       ├── material-dashboard-react
    │       │   ├── components
    │       │   ├── layouts
    │       │   └── views
    │       └── material-dashboard-react.js
    ├── components
    │   ├── Card
    │   │   ├── Card.js
    │   │   ├── CardAvatar.js
    │   │   ├── CardBody.js
    │   │   ├── CardFooter.js
    │   │   ├── CardHeader.js
    │   │   └── CardIcon.js
    │   ├── CustomButtons
    │   │   └── Button.js
    │   ├── CustomInput
    │   │   └── CustomInput.js
    │   ├── CustomTabs
    │   │   └── CustomTabs.js
    │   ├── FixedPlugin
    │   │   └── FixedPlugin.js
    │   ├── Footer
    │   │   └── Footer.js
    │   ├── Grid
    │   │   ├── GridContainer.js
    │   │   └── GridItem.js
    │   ├── Navbars
    │   │   ├── AdminNavbarLinks.js
    │   │   ├── Navbar.js
    │   │   └── RTLNavbarLinks.js
    │   ├── Sidebar
    │   │   └── Sidebar.js
    │   ├── Snackbar
    │   │   ├── Snackbar.js
    │   │   └── SnackbarContent.js
    │   ├── Table
    │   │   └── Table.js
    │   ├── Tasks
    │   │   └── Tasks.js
    │   └── Typography
    │       ├── Danger.js
    │       ├── Info.js
    │       ├── Muted.js
    │       ├── Primary.js
    │       ├── Quote.js
    │       ├── Success.js
    │       └── Warning.js
    ├── layouts
    │   ├── Admin.js
    │   └── RTL.js
    ├── variables
    │   ├── charts.js
    │   └── general.js
    └── views
        ├── Dashboard
        │   └── Dashboard.js
        ├── Icons
        │   └── Icons.js
        ├── Maps
        │   └── Maps.js
        ├── Notifications
        │   └── Notifications.js
        ├── RTLPage
        │   └── RTLPage.js
        ├── TableList
        │   └── TableList.js
        ├── Typography
        │   └── Typography.js
        ├── UpgradeToPro
        │   └── UpgradeToPro.js
        └── UserProfile
            └── UserProfile.js

Browser Support

At present, we officially aim to support the last two versions of the following browsers:

Resources

Reporting Issues

We use GitHub Issues as the official bug tracker for the Material Dashboard React. Here are some advices for our users that want to report an issue:

  1. Make sure that you are using the latest version of the Material Dashboard React. Check the CHANGELOG from your dashboard on our website.
  2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
  3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help.

Technical Support or Questions

If you have questions or need help integrating the product please contact us instead of opening an issue.

Licensing

Useful Links

More products from Creative Tim: https://www.creative-tim.com/products

Tutorials: https://www.youtube.com/channel/UCVyTG4sCw-rOvB9oHkzZD1w

Freebies: https://www.creative-tim.com/products

Affiliate Program (earn money): https://www.creative-tim.com/affiliates/new

Social Media:

Twitter: https://twitter.com/CreativeTim

Facebook: https://www.facebook.com/CreativeTim

Dribbble: https://dribbble.com/creativetim

Google+: https://plus.google.com/+CreativetimPage

Instagram: https://instagram.com/creativetimofficial

About

Pre-interview task for full-stack/front-end developers

License:MIT License


Languages

Language:JavaScript 94.0%Language:CSS 4.6%Language:HTML 1.4%