Giter Site home page Giter Site logo

cms-dev-assessment's Introduction

Simpleview CMS Developer Assessment

Welcome to the Simpleview Developer Assessment.

The assessment is in four (4) parts that increase in complexity and scope. The assessment period is two (2) days; at the end of the assessment period turn in any and all work including any incomplete work for review.

Although each part builds off the previous, you are expected (unless otherwise directed) to turn in four (4) sets of solutions; one for each part.

Requirements

Technical

This assessment must be completed using HTML, CSS, JavaScript (vanilla JS or jQuery). If you need templates, we recommend using ES6 template literals or a templating engine like Goatee.

Design

In the /comps/ folder you will find different screenshots and demo videos for the components you will be responsible for building. Each feature a grid of items in a repeatable pattern. You will be working with an API for 4 parts and it some parts you will need to manipulate the data in some way.

Brand Fonts Google Fonts

  • Lato 400
  • Lato 900

Breakpoints Large - 1025px and up Medium - 641px and up Small - 640px and below

Max Width 1200px

Assessments

Part 1 - REST-API Build the comped component found in /comps/part 1-2/.

For content, use listings data returned from our test API.

Some listings will have broken images, please use the provided fallback image as needed to ensure an image is always rendered.

Part 2 - Filtering Build the component a final time with data from the API. Include listings, events, and offers data as well as a buttons that will enable a user to see all data, only listings data, only events data, or only offers data.

Some listings/evensts/offers will have broken images, please use the provided fallback image as needed to ensure an image is always rendered.

Part 3 - Paging & Dynamic Layouts See the demo in /comps/part 3-4/demo.mp4. You need will need to build this component.

As the user pages through, the layout of the grid and the number of items in the grid changes. The layouts are in a repeatable pattern. When the user gets to the last page, clicking the next button takes the user back to the beginning of the list. Similarly, clicking the prev button when on the first page of the list takes the user to the last page of the list. Your component should have all that same functionality.

You should fill your component with listings data from the API you used in the previous parts.

You do NOT need to include the animation seen in the demo. That is a "nice-to-have" feature, but is not an expected part of the assessment. If you chose to include it, we advise you only do so after completing Part 4. Part 4 is an expected part of the assessment.

Part 4 - Randomizing Continuing with the component you built in Part 3, you will need to randomize the items retrieved from the API.

The API does not offer any randomized sorting options. It does support paging via the page and per_page properties, however merely getting a page of results and shuffling them is NOT sufficient. You randomization function should randomize items across all pages of data available via the API.

Whenever the user refreshes the page, they should see a different set of items on each page of the component.

Submitting Your Assessment For Review

When you've completed the assessment, submit your work via a Pull Request to this repo. Your Pull Request should contain four (4) folders that contain your solution; one (1) for each part of the assessment.

cms-dev-assessment's People

Contributors

arkmuntasser avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.