GithubHelp home page GithubHelp logo

gotenna's Introduction

Original Instructions

goTenna Full Stack Developer Assessment

Welcome! As a full stack developer at goTenna you will be tasked to develop, maintain and test the various applications that support our products. You must be able to write clean, maintainable code that can scale with the changing requirements and technologies of the given platform. And most importantly, you must share a passion for what you do and express it through your work.

Our products are used in many different arenas, including casual, everyday situations like hiking, to applications like emergency response and fire fighting. As such, we are expected to be able to create supporting so be aware that is secure, robust, and easy-to-use.

Photo Viewer Application Given this csv file containing a list of image URLs, create a local photo gallery web application. This should be comprised of a front end gallery and a back end API. Utilize whichever software and frameworks you feel would best demonstrate an efficient approach to the problem, and include clear instructions on how to build your project for us to test.

Each URL is of the following format: https://picsum.photos/id/{id}/{width}/{height} (e.g. https://picsum.photos/id/1055/200/300)

Front End

  • Images should be viewable in a grid-like responsive layout
  • Gallery should be paginated in the method you best see fit (pages, infinite scrolling, etc.)
  • Gallery should include an option for filtering images by dimension • Gallery should include a "toggle grayscale" option (appending ?grayscale to any URL will return a grayscale version of that image)

Back End

  • Build a lightweight backend for parsing the .csv file and returning the URLs to the front end
  • A RESTful API with an endpoint, or set of endpoints, that the frontend hits to retrieve images. Endpoint must support:
    • retrieving images/filtering images (paginated)
    • toggling grayscale
  • Bonus points for additional features such as request caching, image manipulation, error handling, and user authorization.

Feel free to add any visual or back end flair that will show off your skills as a developer, as long as it doesn’t slow down or over-complicate the application. Minimum measures won't be sufficient to get this role. We seek over above and beyond the minimums from lightweight to heavyweight.

Submit your completed project to your GitHub account and include a README.md file explaining how to build your project, and any quirks or other considerations you want us to be aware of. Send us a link to the project, make sure it’s public, and we'll take a look.

My Submission Instructions

To test locally, run these commands (assumes Docker installed):

docker-compose up
open http://localhost/ #or browser equivalent

gotenna's People

Contributors

4richardchen 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.