https://github.com/ecgan/react-inscale-adform-interview
Technical Frontend Lead interview assignment for INSCALE / AdForm. React app with 100% code coverage tests.
https://github.com/ecgan/react-inscale-adform-interview
ant-design interview react react-testing-library
Last synced: about 2 months ago
JSON representation
Technical Frontend Lead interview assignment for INSCALE / AdForm. React app with 100% code coverage tests.
- Host: GitHub
- URL: https://github.com/ecgan/react-inscale-adform-interview
- Owner: ecgan
- Created: 2019-11-17T15:43:49.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-26T15:32:51.000Z (over 3 years ago)
- Last Synced: 2024-07-30T19:14:38.036Z (almost 2 years ago)
- Topics: ant-design, interview, react, react-testing-library
- Language: JavaScript
- Homepage:
- Size: 4.89 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# React INSCALE AdForm Interview
[](https://travis-ci.org/ecgan/react-inscale-adform-interview) [](https://codecov.io/gh/ecgan/react-inscale-adform-interview) [](https://standardjs.com)
A React application to answer the interview assignment for a Technical Frontend Lead position in INSCALE / AdForm.
[INSCALE](https://www.inscale.net/) supplies offshore development teams to technology companies who are looking to scale their development capacity.
[AdForm](https://site.adform.com/) is one of the world’s largest private and independent advertising technology companies. The company is best known for its seamlessly integrated DSP, DMP, and Ad Server.
## Application Requirements
Full requirement document is available in the docs folder [here](/docs/KUL-F-EHomework%20(004).docx).
> The application should be a simple page with the following elements:
>
> * A list of Campaign which shows
> * The Name
> * The startDate
> * The endDate
> * A flag to state if the Campaign is active (a campaign is running when the current date is inside the start-end date range)
> * The Budget (in USD dollar)
> * A Search Form before the list in order to filter the list by Campaign Name
> * A DateRange component that filters the list of campaigns based on a Start and End Date.
> * If the campaign has a startDate that is contained in the range, it should show.
> * If the campaign has an endDate that is contained in the range, it should show.
> * You should not be able to select an end-date that is before the start-date.
> * If the endDate is before the start Date, the campaign should not show.
In addition:
> The candidate will expose a global method called 'AddCampaigns' that takes an array of Campaigns and will render them.
>
> This function will be invoked from the browser’s JavaScript console for testing purposes. If it cannot be invoked, the submission will be rejected. The method is allowed to be called multiple times. If so, the new campaigns will append to the existing list.
## Usage
This application is built with [Create React App](https://create-react-app.dev/).
First, run `npm install` to install the dependencies.
`npm run start` to start the application in local development mode.
`npm run test` to run tests in watch mode.
`npm run test:coverage` to run tests with code coverage report.
## Questions / Issues
If you have any question, feel free to open a GitHub issue, or reach out to me at Twitter [@ecgan](https://twitter.com/ecgan).