Skip to content

A 'toy' application spec for showing your skills off to the Zipmark team.

License

Notifications You must be signed in to change notification settings

zipmark/zipmark-code-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Welcome

If you are reading this, you probably have interviewed or chatted with someone on the team at Zipmark. This is our standard "toy" project we normally like to work on together to see how you think about problems, model them, and make decisions. If you stumbled upon this project randomly and want to give it a shot, please feel free to fork the project and hack away. We would love to see what you come up with.

An initial version of this project should be doable in a short amount of time (we usually do coding sessions for less than half a day with interviewees), but has many facets that could be improved beyond that inital cut.

Objective

Build a small application that fetches and updates the Federal Reserve's current list of Banks and Routing numbers and then exposes a JSON API where users can lookup a Bank's details by routing number.

Resources

  • Fedwire Directory File Format

    • Provides the "rules" for how the bank routing number data file is formatted
  • Bank Data

    • Provides a "fixed-width" data set of all banks registered with the Fed
    • Note: fixed-width semantics can be found here. You'll want to keep this in mind when thinking of how to parse the data set file
  • Truncated Bank Data

    • A subset of the full Bank Data file above
    • This is the first 100 lines of the file, much easier to deal with if you are requesting it a lot

Getting Started

  1. Fork this Repo
  2. Code up your Version
  3. Email us or send a PR so we can check it out

Example Behavior

curl http://hostname/banks/123456789

Output:

{
  name: "First Bank of Zipmark",
  routing_number: "123456789",
  record_type: "Record Type",
  phone_number: "212-555-1212",
  address: {
    street: "56 W 22nd St",
    street_2: "9th Floor",
    city: "New York",
    state: "NY",
    zip_code: "10010"
  }
}

Niceties

  • deployable to Heroku

Ideas for Enhancements

  • provide a web client that allows a user to enter a routing number into a form and see the results in a browser
  • scheduling/backgrounding/resilience
  • track updates and changes
  • etc

About

A 'toy' application spec for showing your skills off to the Zipmark team.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •