Git Product home page Git Product logo

linksf's Introduction

⚠️ Link-SF is no longer maintained here. The project is now managed by ShelterTech as the SF Service Guide.

Link-SF Build Status Code Climate

Open Referral Transition

This version of linksf is currently undergoing a data model transition to be HSDS compliant.

[In Active Development] Current Boilerplate

Project structure based on https://github.com/koistya/react-static-boilerplate

http://link-sf.com

A mobile website designed to connect those in need in San Francisco to the services that can help them, on their own terms.

Link-SF is a single page React.js application using Firebase for persistence. Querying is done in the front-end in order to maintain a mostly backend agnostic application.

Documentation is available under docs for offline viewing or via links below:

Link-SF is an ongoing collaboration between the Tenderloin Technology Lab and Zendesk, Inc.

History

https://vimeo.com/87203260

The Tenderloin Technology Lab serves many low-income residents that are looking for web access. One of the trends in recent years has been that a significant percentage of users (40% as of February 2014, up from 33% the previous year) have access to smartphones. Low-income households especially are increasingly reliant on smartphones - 45% of smartphone-owning <30k households use mobile web as their primary device for internet access vs 27% of >75k households. Web access and literacy is crucial for job or housing applications, as well as family and social networks.

Link-SF is a mobile web app designed to give this growing community of smartphone users instant access to relevant services on the go by surfacing crucial information like open hours, phone numbers, and Google Maps directions.

Contact us at [email protected].

Note

In January 2016, Facebook announced the impending shutdown of the Parse service. Since that time, our team has been working on creating a new solution for all instances of the Link-SF project that does not rely on Parse. Our secondary mission for Version 2 is to support data which is in the OpenReferral format and inspired by the Ohana API. This current version uses firebase as a backend and React for the front-end.

For users of our previous version (still available at this branch, we are also building a migrator to help transition to the new version. Contact us at [email protected] if you need assistance during this phase.

Contact us

Our team can be reached on Slack.

linksf's People

Contributors

adam-hart avatar alanhogan avatar ckumar1 avatar cpovey avatar craig-day avatar dadah89 avatar gregziegan avatar haabaato avatar j0emay avatar jpandl19 avatar kencheeto avatar mdpai avatar mikehuston avatar osheroff avatar ragurney avatar rapheld avatar roseleaf avatar shajith avatar shaktirp avatar tajshaik24 avatar zdsrajpurohit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linksf's Issues

As Link SF, I should have per-service hours in a standardized format

Right now the per-service hours is treated like a free-text field.

Some examples:

"Tues-Thurs 11:30am-1:30pm"
"Tues 5:30pm until food runs out"
"Thurs 1:30pm"
"Sat 12pm-3pm"

Other services don't have any recorded hours at all (value is null).

We need to do two things:

  1. Decide on a consistent format
  2. Update our current service hour data to fit this format

Service hours will probably need to be optional. The selected format should be designed around making the following as simple:

  1. editing from UI
  2. detecting 'is open now'

As a user, I should see an 'Open' or 'Closed' indicator for each facility in the facility list view that provides hours

Blocked by #17.

screen shot 2013-05-03 at 1 07 55 pm

In general there hasn't been a final decision how we're going to calculate if a facility is open or not. There will likely be three states - 'open', 'closed', and 'unknown' state when we lack hours information or the information does not give us a conclusive measurement. The indicator in the facility view should read from the isOpen() function on the Facility model.

Home page: Update UI according to new homepage mockup

@bEElz1 has provided an updated mockup for the Link SF homepage. From the mockup below, we first want to implement the following:

  1. New UI chrome
  2. New category buttons
  3. New category icons

Exclude for now:

  1. The "near" search
  2. The Search button.

mockup

Schema definition and fixture json

A blocker for beginning concurrent working threads is deciding on a schema to build against.

Individual services rendered at each facility commonly has its own hours, notes, and supported demographics. We whiteboarded and decided on having two first class objects in our data model- facility and service.

Our schema will probably look something like this:

facility has many services
service belongs to facility

facility:
  id: integer
  name: string
  addr: string
  description: string
  phone: string
  hours: object (derived from aggregate services)
  notes: string
  geopoint: geo
  demographics: array (derived from aggregate services)
  category: array (derived from aggregate services)

service:
  id: integer
  facility_id: id
  name: string
  description: string
  hours: object
  notes: string
  demographics: array
  category: string

Resolution of this issue is contingent on having fixture json which we'll need to translate from the original google spreadsheet.

Resource detail page design

@bEElz1 can you take a look at a resource page that we have today and produce a design inline with the homepage look/feel? Reference #39 .

Key items:

  • Navigation bar at the top
  • Resource name
  • Hours
  • Demographic allowed
  • Provided services
  • map
  • clickable phone number
  • Directions link (invokes Google Maps UI)
  • Information section

About page

TTL would like an 'About' page accessible from the landing page. We don't have any content to go there yet, so just add their contact info available from the TTL website for now and we'll loop back with them about it later.

We should also ask Tiffany what Zendesk information/branding we'd like on that page, if any.

As a user, when I visit link-sf.com I should be shown a landing page with a query form

Description

In addition to changing the filter from the list view, the initial query should be done from a landing page.

UX/UI

See below.

Acceptance criteria

  1. This should be the landing page of going to link-sf.com
  2. Tapping on any of the buttons should render a search result that filters results by housing, food, medical, technology, or hygiene.

As a developer, I should be able to execute a 'near' query using a user provided location

We can only make location-based queries that use the current location from navigator.geolocation. We want to support making queries using arbitrary locations (with the intention of allowing the user to input a starting location).

This is an investigation task. Priority of implementation depends on required effort. This can be considered complete when we have evaluated our options and have some idea of required effort.

Resource detail page: Lock map scrolling

If you scroll through a listing and your thumb happens to catch the map, the scrolling will stop and the map will scroll instead. @roseleaf can we lock scrolling of the map? The main use case of showing the map is just to give some context to the location of the resource anyway.

Search by name

When the landing page query submits, we want to include a search by name in our Parse query.

Get admin UI working

Description

@osheroff has apparently started on an admin UI. Expose this UI so we can prioritize additional work against what is editable on the resource listing.

Pagination

As a web browser, I want to be able to see more results.

As a mario, the princess is still in the other goddamn castle.

As a user trying to filter results, I have more tappable filter buttons

Description

The filter UI is currently using basic form elements:
http://cl.ly/image/3K2F3a0d1E0u

Update the filter UI to have more tappable pill-style buttons

UX/UI

http://cl.ly/image/0V0J0q3e2d2y

Acceptance criteria

  1. Tapping each text string (e.g. "Name" or "Distance") should highlight the pill
  2. Tapping "Cancel" should close the filter without running a filter query
  3. Tapping "Find" should filter the results by the selected search criteria.

As a developer, I should have an API to determine if a facility is currently open, closed, or unknown

Blocked by #16.

The facility model has a function isOpen already. The behavior will probably look something like this:

// the facility has hours information and we can calculate that it's open:
facility.isOpen(); // => 'open'

// the facility has hours information and we can calculate that it's closed:
facility.isOpen(); // => 'closed'

// the facility has hours information but we can't calculate if it's open or closed:
facility.isOpen(); // => 'unknown'

// the facility does not have hours information:
facility.isOpen(); // => 'unknown'

For consumption in #18.

icons

We need better icons for the categories:

Housing
Hygiene
Food
Medical
Technology

We're using (glyphicons halflings from bootstrap)[http://glyphicons.com/] but we don't have a suitable icon for food or hygiene- I don't think using a shopping cart is a good idea.

The full-size icons provide decent-looking icons for all the categories above, but we'd have to do the sprite calculations ourselves and possibly resize.

@bEElz1 Any ideas? you mentioned there were some other options here. Thanks!

Filter page: design

We'd like a nicer design for the filter page that will be broken out from the list page.

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.