An open API service indexing awesome lists of open source software.

https://github.com/dmitryshlepkin/20230803-ds-nycschools

Coding Challenge: NYC Schools for a job offer at JP Morgan Chase & Co. Create a browser based or native app to provide information on NYC High schools.
https://github.com/dmitryshlepkin/20230803-ds-nycschools

Last synced: 3 months ago
JSON representation

Coding Challenge: NYC Schools for a job offer at JP Morgan Chase & Co. Create a browser based or native app to provide information on NYC High schools.

Awesome Lists containing this project

README

        

# Coding Challenge: NYC Schools

GOAL: Verify candidate can provide a technical solution and follow instructions

### Requirements:

These requirements are rather high-level and vague. If details are omitted, it is because we will be happy with any of a wide variety of solutions. Don't worry about finding "the" solution. Feel free to be creative with the requirements. Your goal is to impress (but do so with clean code).

Create a browser based or native app to provide information on NYC High schools.

- Display a list of NYC High Schools.
* Get your data here: https://data.cityofnewyork.us/Education/DOE-High-School-Directory-2017/s3k6-pzi2
- Selecting a school should show additional information about the school
* Display all the SAT scores - include Math, Reading and Writing.
- SAT data here: https://data.cityofnewyork.us/Education/SAT-Results/f9bf-2cp4
- It is up to you to decide what additional information to display

When creating a name for your project, please use the following naming convention: YYYYMMDD-[Initials]-NYCSchools (Example: 20180101-MM-NYCSchools)

In order to prevent you from running down rabbit holes that are less important to us, try to prioritize the following:

### What is Important:

- Proper function – requirements met.
- Well constructed, easy-to-follow, commented code (especially comment hacks or workarounds made in the interest of expediency (i.e. // given more time I would prefer to wrap this in a blah blah blah pattern blah blah )).
- Proper separation of concerns and best-practice coding patterns.
- Defensive code that graciously handles unexpected edge cases.

### What is Less Important:

- Demonstrating technologies or techniques you are not already familiar with.

### Bonus Points!

- Unit Tests
- Additional functionality – whatever you see fit.

# Solution:

- MVVM Architecture
- Data driven UI
- Router
- DI
- Unit Tests