Git Product home page Git Product logo

app-developer-coding-exercise's Introduction

Ticketfly Web App Developer Coding Exercise

Ticketfly is looking for talented, pragmatic web application developers who know how to leverage modern web frameworks whenever possible and fill in the blanks when necessary. The following challenge is designed for you to demonstrate your ability to do just that. Please use the framework/language that you are most comfortable with - if you wish to use Grails, we recommend using 1.3.7 or 2.0.x.

Some ground rules

At a minimum, this exercise should take 1.5 to 2 hours to complete. If you have more time to devote to it, that’s great. If you don’t have time to implement all the basic features, then find some way of conveying your thoughts on how you might do so. The bonus features are optional, but please give some thought on how you might implement one or two of them.

Given the tight timeline, we don’t expect perfection. This is an exercise in understanding what corners to cut, how to cut them and why.

The challenge

Create a [very] basic event listing website for a music venue, “Fraser’s” . Each event must consist of at least: event name, headline and support artist(s), event date & time and ticket price. Users must be able to add, edit and remove listings. There should also be a read only view with a master list of all events and detail page for each event.

Some constraints

We believe in giving our developers as much autonomy as possible, and this challenge is no exception. It is up to you to make decisions on the nitty gritty, but there are 3 basic rules:

  • Event date/times can’t overlap
  • An artist can’t appear at the same event more than once.
  • The same artist can appear at different events

Bonus Features

We’d be very impressed if you implement any of the the following. If you don’t, have a think about how you might implement a couple: Choose a 3rd party API to integrate with. Some examples might be: Last.fm, Songkick, Echonest, Sonic Living or perhaps even Ticketfly’s API (see next page for some basic usage information).

  • Implement an artist search feature.
  • Add the ability for events to have an image.
  • Implement some kind of security around the event creation and editing pages.
  • Implement a RESTful API that exposes the event data contained in the application
  • Write specification-based tests using a framework such as Cucumber or Spock

Deliverables

Please zip up your source and email it to [email protected].

Appendix - A quick guide to Ticketfly’s API

All of Ticketfly’s event data is available through our API. The most commonly used feature of the API is the “upcoming events” action.

Example upcoming event API request:

http://www.ticketfly.com/api/events/upcoming.json?orgId=1

The orgId parameter represents the organization you wish to obtain data for. Org 1 is all public events in the USA, and is the org you should use for this exercise.

If you wish to use JSONP, you can add the callback parameter and pass the name of the javascrtipt function that will process the result of the API call:

http://www.ticketfly.com/api/events/upcoming.json?orgId=1&callback=myCallbackFunction

Other parameters you might find useful:

maxResults: The number of results to display per page
pageNum: The page number to retrieve
q: A text search query. This is used by the search box on ticketfly.com and understands quotes phrases and the use of AND , OR (case sensitive). It matches against the artist name, event name, promoter name and venue name & city. For example:

/api/events/upcoming.json?orgId=1&q=%22The+Lemonheads%22+San+Francisco

artistName: Retrieve events for this artist. This only searches against artist names and looks for an exact (but case-insensitive) match.

If you have any questions, please reach out to us.

app-developer-coding-exercise's People

Contributors

superflav 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.