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.
- vscode
- git + github account
- node
- yarn
- 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
- 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
- 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
For extra points add extra style or components to enhance the look and feel of the tables
Send a link to your github repo with the the finished task to [email protected] with the title "cm-fe-developer-task".
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:
- React-chartist for the wonderful charts.
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.
- Versions
- Demo
- Quick Start
- Documentation
- File Structure
- Browser Support
- Resources
- Reporting Issues
- Technical Support or Questions
- Licensing
- Useful Links
HTML | React | Vue | Angular |
---|---|---|---|
Dashboard | User Profile | Tables | Maps | Notification |
---|---|---|---|---|
Quick start options:
npm i material-dashboard-react
- Clone the repo:
git clone https://github.com/creativetimofficial/material-dashboard-react.git
. - Download from Github.
- Download from Creative Tim.
The documentation for the Material Dashboard React is hosted at our website.
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
At present, we officially aim to support the last two versions of the following browsers:
- Demo: https://demos.creative-tim.com/material-dashboard-react
- Download Page: https://www.creative-tim.com/product/material-dashboard-react
- Documentation: https://demos.creative-tim.com/material-dashboard-react/#/documentation/tutorial
- License Agreement: https://www.creative-tim.com/license
- Support: https://www.creative-tim.com/contact-us
- Issues: Github Issues Page
- Material Kit React - For Front End Development
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:
- Make sure that you are using the latest version of the Material Dashboard React. Check the CHANGELOG from your dashboard on our website.
- Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
- Some issues may be browser specific, so specifying in what browser you encountered the issue might help.
If you have questions or need help integrating the product please contact us instead of opening an issue.
- Copyright 2021 Creative Tim (https://www.creative-tim.com)
- Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/main/LICENSE.md)
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