Giter Site home page Giter Site logo

jmuking / tech-challenge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from midwestern-interactive/tech-challenge

0.0 0.0 0.0 571 KB

License: GNU General Public License v3.0

Dockerfile 5.06% Python 14.14% HTML 29.93% CSS 16.17% TypeScript 34.70%

tech-challenge's Introduction

Technical Challenge

This is a simple challenge to assess a base skill set and architectural mindset. Complete to the best of your ability, if you have any questions reach out to your contact.

You will find all necessary assets provided in this repository.

Once complete, place your codebase in a github repository and provide the link to your contact at Midwestern.

1. Front-end Challenge

Any framework or package may be used in addition to any that may have been requested by your contact.

  • Programmatically build out both layouts (home/contact) using HTML/CSS/SASS/JS or any other stack/framework mentioned by your contact, see screenshots and Figma prototype for what the finished product should look like.
    • Desktop and mobile views are available from the left side menu in Figma
    • Scale elements/sections as necessary for content breaks in a responsive manner.
    • Fonts: https://fonts.google.com/specimen/Poppins
      • Bold
      • Medium
    • Primary Colors:
      • Gold: #DEBF79
      • Dark Gray (background): #222222
      • Mid Gray (text): #858585
      • Light Gray (inputs): #F5F5F5
      • Red: #800000
  • At the bottom of the mock up there is a Javascript puzzle. Please use the following data.

Object 1

  • Matt Johnson
  • Matt Johnson
  • Bart Paden
  • Ryan Doss
  • Jared Malcolm

Object 2

  • Matt Johnson
  • Bart Paden
  • Bart Paden
  • Jordan Heigle
  • Jordan Heigle
  • Tyler Viles

Result Object/Array

  • Matt Johnson
  • Bart Paden
  • Ryan Doss
  • Jared Malcolm
  • Jordan Heigle
  • Tyler Viles

2. Integration Challenge

We've developed a very basic API that allows you pull content for the sections in the design.

Please use the following endpoints to populate each of the Lorem Ipsum sections as well as submitting the contact form.

Base URL

https://api.mwi.dev

Content Sections

  • GET /content/{page} {page} can be home or contact

Will return an array of JSON objects containing a unique title and description for each section of the design.

Images are not provided from the API, please hardcode the urls for these.

Example Response

{
  "success": true,
  "data": [
    {
      "id": 1,
      "page_id": 1,
      "title": "Some Title",
      "content": "Some chunk of text from the API",
      "page": {
        "id": 1,
        "label": "home",
        "name": "Home",
        "created_at": "timestamp",
        "updated_at": "timestamp"
      },
      "created_at": "timestamp",
      "updated_at": "timestamp"
    }
  ]
}

Contact Form

  • POST /contact

Accepts a form data object with all the key/value pairs from the form.

Example Payload

{
  "first_name": "First",
  "last_name": "Last",
  "title": "Title",
  "email": "[email protected]",
  "message": "Message content text"
}

3. Back-end Challenge

This will allow the client front-end to request content for all Lorem Ipsum sections as well as submit and store results from the contact form. Connect the results of this challenge to power challenge 1 (if applicable).

  • Build a basic, non-authenticated API
  • Setup up a DB of your choosing (MySQL, Postgres etc.)
  • Write migrations/scripts for database table and seed data for housing Lorem Ipsum content
  • Write migrations/scripts for database table to store results of the contact form
  • Create GET endpoint that returns content from the DB for each of the Lorem Ipsum sections (URL path up to your discretion)
    • Content for title
    • Content for paragraph
    • Images src may be hardcoded, or you may store URL in DB
  • Create POST endpoint for storing the results of the contact form in the DB on submit (URL path up to your discretion)

Resources

tech-challenge's People

Contributors

ryandoss avatar jared-dev avatar jmuking 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.