Giter VIP home page Giter VIP logo

dl-coding-challenge-public's Introduction

DL-Coding-Challenge

Welcome to the Detroit Labs coding challenge.

Please fork this repo and create a branch that includes your name in the branch name (We like to read commits!). Choose from Android, iOS or web to complete this challenge. Comment on what libraries or frameworks you choose to use so we know exactly what code is yours and what is coming from a third-party.

Plan, document, and build your proof of concept then submit it when you are done.

Proof of Concept scenario description

Your Project Manager has just come to you with a potential Client who has requested a WeatherApp Proof of Concept! The Client has given us a budget and a laundry list of features. It is your job to build from the feature list to your skill level and defend your implementaton and design decisions. We are trying to win more business from this Very Important Client, and this Proof of Concept needs to impress them in order to move forward. The good news is you have a lot of flexibility with the UI and how you want to display the Weather information.

The Challenge is to implement features and a UI for a Proof of Concept that looks good and gives insight into what the full app could be in the future.

How many and what features you implement is up to you, but be ready to discuss your strategy and implementation.

Ideas for Features

  • Current Location Weather
  • Icons & Menu Icons
  • Monthly, Weekly, Daily, Hourly Weather Info
  • Map (weather/radar)
  • Methods for Multiple UI Themes
  • Pull to Refresh
  • Seasonal Conditions (Golf, Sailing, Skiing)
  • Wearable App
  • User can display multiple locations
  • User Auth
  • Graph (Precipitation, Humidity, Temp, etc.)
  • GPS Location

notes

  • Feel free to add any of your own features, just be prepared to defend them!

Non-Functional Requirements of Interest:

  • Basics
    • Robust UI (You're probably not a designer. Robust is code for "uses platform standards and standard platform controls correctly and consistently")
    • Understanding of performing asynchronous tasks (thread management and the like)
    • Menu drill down (ex. Food Menu -> Drink Items -> Scroll Through Sodas)
    • Error handling
    • Data persistance (Your own backend or a Service)
    • Multiple endpoints updating a single UI
    • ListView/TableView
      • Different Types of Cells (Height, Editable, add, delete etc.)
  • Android
    • Understanding of Fragments and Adapters
  • iOS
    • Understanding of Tables

Languages and Frameworks we call friends:

  • Languages
    • Java
    • Ruby
    • JavaScript
    • Php
    • Objective-C
    • Swift
  • Frameworks
    • Android
    • iOS
    • Sinatra
    • Ruby On Rails
    • Cake
    • Angular.js
  • Other Technologies
    • Parse
    • Node.js

Our Evaluation Criteria:

  • Code Quality, Style, and Readablity
  • Architecture and Design Decisions (Usable UX, number of features selected to implement, implementation mechanics, patterns used, clever vs. simple)
  • Standard Practices (documentation, comments, commit History)
  • Completeness of Features Chosen
  • UX & Design
  • Automated Testing (optional, but if you know how, it'd be nice to see)

Remember: this exercise is meant to give you many options and choices in the best way for you to demonstrate, highlight, and communicate your programming ability, design experience, personal style, and coding preferences. We are also looking for how you manage and decide what is important, given a limited amount of time to complete an overwhelming task. You are not expected to complete this app, but rather be able to make decisions on what to do with this challenge in the time allotted, describe that decision making process, and then show your work. Getting more done is sometimes better, but if you are able to do a lot of work at a low level of quality and completeness or a little bit of work at a high level of quality and completeness, make an informed choice on which way to go and be prepared to talk about that. Let the challenge scenario guide you.

How to Submit

  • Please fork this repository and create a branch for your project.
  • When you are finished, send a pull request for review.
  • Please make sure any services you may use are deployed so we can test your app.
  • Once we have reviewed your submission we will contact you for the next steps.

Thank you for applying to Detroit Labs!

dl-coding-challenge-public's People

Contributors

ieatkimchi avatar

Watchers

James Cloos avatar Charles Plater 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.