Git Product home page Git Product logo

school-finder's Introduction

codeforokc.org

This is the static site for codeforokc.org.

Developers

To start, ensure you have the following installed:

We have added a handy script for hosting the static site locally. First install the npm dependencies:

npm install

Then you have a couple options for serving the site. You can host out the current contents:

npm start

Or you can host it out and automatically watch for local changes:

npm run dev

License

Licensed under the MIT License.

school-finder's People

Contributors

cgorshing avatar jagthedrummer avatar joekarl avatar mbockus avatar mike-loffland avatar mkchandler avatar thenetruist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

school-finder's Issues

Polygon to point using Turf?

Turf has a centroid function that figures out a point using the given polygon coordinates.

turf.centroid.

What do you guys think about using this to derive the point data for schools until we have a more reliable/permanent solution?

cc: @joekarl

School location data contents

So I've dug into the data for the school districts and the school locations and wanted to start a dialogue to help wrap our heads around what's going on in it.

What I found

  1. The data isn't in Latitude/Longitude format. It's actually in the State Plane Coordinate System using US Survey Feet (3937 yards = 3600 meters) in an XY format that looks like this "POLYGON(( X1 Y1, X2 Y2 ))" where each X Y pair is a vertex. The weirdest thing about this format is that it takes a zone number that is similar to a phone number area code in that it represents a region of the United States. The zone for Oklahoma City seems to be 3501 - Oklahoma North. You can play around with converting these points into Long/Lat with this online tool + plugging in the relevant numbers.
  2. Some of the rows have some missing information. So far it seems pretty minor with "Not Available" in a few spots for certain school district codes. From my first pass over it seems like most of it is intact however, so its probably not a big deal.
  3. There are polygons around the schools in the school location data. This is interesting because maybe visualizing campus sizes will be useful for some other cool features that we haven't thought of yet.

I've only very quickly wrote up a script in node to read in, parse and transform the csv into a .json file for data set 3, and I can post the script + the .json file up if you guys care to see it.

Footer

Add links for:

  • Legal Junk
  • About Us

School Finder Frontend - Building the app instructions

Install node/npm
Install global dependencies - npm install -g gulp-cli
Install npm dependencies - npm install
Run tests - gulp test -- or -- npm test

I had to use sudo for the npm install commands. After installation, I run into issues running both gulp test and npm test. Are there any commands possibly missing from the readme?

gulp test stack trace:
computer-name:school-finder-frontend joebob$ gulp test

module.js:340
throw err;
^
Error: Cannot find module 'gulp-serve'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/Users/joebob/Projects/github/campbeja/school-finder/school-finder-frontend/gulpfile.js:2:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)

npm test stack trace:

[email protected] test /Users/joebob/Projects/github/campbeja/school-finder/school-finder-frontend
karma start

sh: karma: command not found
npm ERR! Test failed. See above for more details.
npm ERR! not ok code 0

What is the scope of this project?

Just looking to get a better handle on what we're actually building.

From the sounds of it, we'll want to support looking up:

  • school district for a location
  • closest schools to a location
  • schools that one would send one's kids to based on location (not necessarily the closest schools)

Currently, we don't have that data from the city to do the lookups for the third thing, we'll need to get that data from individual school districts. (ie inner district boundaries)

Reason I ask is we need to know what relationships need to be built between datasets (also this would be good info to have as part of the README in terms of defining the scope of this project).

//cc @codeforokc/school-finder-team @codeforokc/owners

data filter based on data set

Making this data driven based on some sort of header information in the geojson or some other datasource tied to each dataset would be cool.

i.e.
Filterable properties,
Type (bool, set, freetext)

running gulp test

Ran:
git clone https://github.com/codeforokc/school-finder.git

  • Installed global dependencies - npm install -g gulp-cli
  • Installed npm dependencies - npm install
    also ran:
    npm i --save-dev gulp-serve

gulp test
[15:52:51] Using gulpfile ~/src/school-finder/school-finder-frontend/gulpfile.js
[15:52:51] Starting 'test'...
[15:52:51] 'test' errored after 11 ms
[15:52:51] Error in plugin 'gulp-mocha'

Message:
Cannot find module '../../app/services/currentLocationService'

Move map generation into a service

Need to have the map generation moved into an angular service/factory (not sure which) so it can be injected into the main controller for manipulation based on $scope changes.

UX brainstorm from March meeting

Here's a pic of our brainstorm session tonight. We can start breaking it out in to individual issues and/or discuss further here.

Everyone seemed to agree that the landing page of Zillow is something good to shoot for. The results page will be a bit more custom.

img_5006

Filtering after searching

When looking at either list view or map view the user should be able to adjust the types of things they're looking at and/or be able to search by name.

Terms of use

data.okc.gov has a terms of use for the data, we may want to link that, and then add another set of terms of use. Might want to talk to some lawyer or something about guidelines around this to protect codeforokc etc.

Using mapbox for school data querying

So after looking into what we can do with mapbox directly, here's what I have

  • There's an API for uploading data sets
    • This requires a standard plan ($50 a month)
  • There doesn't appear to be an API for creating a map with an associated dataset
    • This is okay if we can overwrite the data set and a manually created map will be updated
  • The Surface API supports querying data from maps
    • It is in private beta
    • Won't give us nearest data (ie closest school)

Perhaps @jvrousseau or @DevinClark can chime in with thoughts.

Designs from Derek

Here are some images that Derek sent to me based on the notes from last meeting.

code4okc
code4okc-local
code4okc-search

Add school district information to school data

Will just be adding schoolDistrictCode and schoolDistrictId to each school feature in the schools.geojson file.
Will need load up school district info and then do a point in polygon check to see which district the school resides in.

OkcJS presentation once substantial progress made

Would be pretty sweet to give an overview of the project at an OkcJS meeting once we've got some more tangible progress made.

Maybe have a talk structured around building a single page static site and all the considerations involved (from github usage to app architecture to hosting to data acquisition to delivering the product).

Would be good press for folks to see what is being done and a good way to recruit other folks.
And not only that, would make a good technical presentation on what it takes to ship a product from beginning to end, using javascript as the primary language for not only the app but tooling as well.

about

Build an about page, showing branding for

  • Code for america
  • Code for OKC
  • Techlahoma

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.