Code Monkey home page Code Monkey logo

suministrospr's Introduction

Suministros Puerto Rico

https://suministrospr.com

Updates

We are archiving this project.

While the project itself is still available in it's URL, there is no Code for Puerto Rico team maintaining it. If there is interest in working on this project please let the Code for PR core team know by creating an discussion here and joining our hack nights.

Development

# Install pipenv (https://pipenv.kennethreitz.org/en/latest/install/#installing-pipenv)
$ pip install --user pipenv

# Install project dependencies
$ pipenv install --dev

# Install pre-commit hooks
$ pipenv run pre-commit install

# Copy example environment variables to proper file
$ cp example.env .env

# Run Django database migrations
$ pipenv run python manage.py migrate

# Run local server
$ pipenv run python manage.py runserver_plus

Docker

$ docker-compose up --build

Importing data

  1. Unarchive data extract to ./data/scraped/*.json

  2. Run the import_data command:

$ docker-compose exec web python manage.py import_data ./data/scraped

Deployment

git push heroku master

Clearing cache

heroku run python manage.py clear_cache

Update i18n locale strings

  1. Extract i18n strings with:
$ docker-compose exec web django-admin makemessages -l en
  1. Update local strings with the translated text on the files located at suministrospr/locale

For example:

#: suministrospr/suministros/templates/suministros/suministro_form.html:36
msgid "Municipio"
msgstr "Municipality""
  1. Compile strings and generate .mo files with:
docker-compose exec web django-admin compilemessages

suministrospr's People

Contributors

arielo avatar arrel avatar carlosa54 avatar crm114 avatar dependabot[bot] avatar eluciano11 avatar froi avatar gcollazo avatar jonatns avatar jpadilla avatar miguelrios avatar rnegron avatar tommytomtj avatar xiomara7 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

suministrospr's Issues

Status Meeting v1

Hagamos un video call hoy en la mañana para recap donde estamos que es lo último que falta e idealmente deploy hoy mismo.

La idea sería hacer el meeting abierto para que puedan join los que quieran.

Agenda

  • Demo del app (screen share) cómo está ahora y confirmar que tenemos feature parity con el current app
  • Definir pasos finales para poder poner en prod
  • Establecer fecha y hora de push a prod

Propongo 10am AST

@jpadilla @froi @miguelrios @albertico


Meeting details

Topic: Status Meeting v1 - Suministros Puerto Rico
Time: Jan 15, 2020 10:00 AM Puerto Rico

Join Zoom Meeting
https://zoom.us/j/983829701

Meeting ID: 983 829 701

One tap mobile
+17879667727,,983829701# Puerto Rico
+17879451488,,983829701# Puerto Rico

Dial by your location
+1 787 966 7727 Puerto Rico
+1 787 945 1488 Puerto Rico
+1 646 558 8656 US (New York)
+1 408 638 0968 US (San Jose)
Meeting ID: 983 829 701
Find your local number: https://zoom.us/u/aeC9EdhDSU

Crear manera de informar errores

Los usuarios deberían tener una manera de informar errores o ediciones "nefastas" dentro de la misma pagina. Esto permite a los dueños del site corregir las entradas usando la historia que se esta guardando

Add suministrospr footer

Debemos de añadir el footer official del equipo de suministrospr. Esto sirve para dar información a medios and cualquier cobertura official del proyecto.

Importar datos existentes antes de deploy

Hay un scrapper creado como parte de #8. Antes del deploy / switch debemos hacer un último export / import.

El import process debería get_or_create y si existe solo update, queremos poder correr el import varias veces sin duplicar lugares pero si actualizando los datos.

Es inevitable que el cambio de DNS tarde un poco en estar en efecto en todas partes por lo que seguramente vamos a tener que update la data una vez el site nuevo esté arriba.

Categorización de pedidos

De @mariolapr en Twitter (pediatra usando el site): “Para hacerlo más fácil, opción de buscar por artículo. Por ejemplo digamos que en total, entre todos los campamentos se necesitan 10 glucometros. Con ese número puedo lograr conseguir donaciones de medical supplies.”

Some potential improvements for V2

Some thoughts on (near) future improvements

On Categorization
I think the request page needs improvements on structuring but I like the “wiki” and “free form” nature of it. I don’t know how to balance the two.

One possible hack (which may not be sustainable depending on volume) is to have a slack hook that notifies a group of us whenever there is an update posted and we go and add “tags” or categories for each request. Then folks who want to help can search easily for “need supplies”, “need water”, “need mental health help” etc.

broadcasting on twitter
The slack hook could also be useful to broadcast needs more publicly. Like this: https://twitter.com/oajvelez/status/1217133605752922117?s=21. We can get alerted when new items get added and use discretion to post them publicly (I have the @puertorico account or we could use other).

Matching needs with “suppliers”
I like the idea of publishing trips. We can take it beyond and have a simple for that folks use to say what they have and then match them with needs that have been identified. Having tags and categories would be key then. We can then have those folks “acknowledging” the request for help and would be published in the sector/refugio page.

Details page is not rendering links

The details page is not rendering links at all. All text with an anchor tag is being escaped. These links are showing correctly in in the edit page for an entry.

Example, the detail for entry with bo-bucarabones-maricao slug:

details-missing-links

Anñadir un entry "global" a los 78 municipios para mascotas

Team:

Se comunicaron con nosotros a solicitarnos ayuda con el asunto de muchas mascotas cuyos dueños las dejaron solos en sus casas. Hay grupos listos para recogerlos pero necesitan que los locales que los ven identifiquen donde están en alguna parte y por eso recurrieron a nosotros.

Mi idea es añadir en las opciones de lugares a los municipios una "global": que se llame "reporta mascotas" y que sea el mismo proceso el usuario entre ponga la info de la mascota y donde se encuentra.

Les copio aquí la comunicación entera. Me dejan saber cómo proceder.

¡Saludos Orlando!

¡Muchas gracias por tu tiempo! Conforme a nuestra conversación telefónica, abajo le detalla nuestra petición para añadir un área para recoger información sobre mascotas abandonadas debido a los acontecimientos del área sur. Mi nombre es Viviana Rivera, animal lover comprometida con el bienestar animal en Puerto Rico. Como parte de un esfuerzo concertado entre diversas organizaciones y personas, estamos queriendo identificar mascotas abandonadas en sus casas debido a los temblores en el área sur de la isla. Necesitamos colectar y tabular información en un solo lugar que nos permita llegar a ellas. Lo necesitaríamos en una tipo de forma de contacto que se llena. Así podremos saber a quien contactar sobre dicha mascota/s. Info que vamos a necesitar:

Municipio/ Pueblo
Zona/Sector
Nombre de Contacto (¿podríamos contactarlo para mas información sobre este animal?)
Numero Telefónico
Correo Electrónico
Especie
Perro
i. Cantidad
Condición
Dentro de estructura comprometida
Suelto en su sector
Usted lo tiene en su hogar temporeramente y lo esta alimentando
¿Es usted rescatista o refugio?
Si / No
i. De ser si,
provéanos información sobre nombre de organización y censo de perros.
Su matricula de perros esta vacunada?
Desea que se considere un vuelo humanitario para su población?
Tiene los records de sus rescates al día?
Tiene alimento para sus rescates?
Esterilizados? Cuantos?

Por el momento, entiendo que esta es la información mas importante que necesitamos canalizar ya que al momento hay disponibles unas 1,000 vacunas donadas por un veterinario local así como gestiones para vuelos humanitarios, y movilizaciones siendo concertados por organizaciones de bienestar animal.

Quedo a su disposición para cualquier pregunta adicional.

Mil gracias,

Viviana Rivera
Chief Doggie Officer- Certified Pet Designer

signature_1097806984
Made for Dogs. Designed for Owners.

m 787.630.6066
p 787.957.6307
w www.toydoggiebrand.com

P.O. Box 897, San Lorenzo, Puerto Rico 00754
signature_1629359839signature_1140204969signature_206585971
CONFIDENTIALITY NOTICE -- This email is intended only for the person(s) named in the message header. Unless otherwise indicated, it contains information that is confidential, privileged and/or exempt from disclosure under applicable law. If you have received this message in error, please notify the sender of the error and delete the message. Thank you.
This message (including any attachments) may contain confidential, proprietary, privileged and/or private information. The information is intended to be for the use of the individual or entity designated above. If you are not the intended recipient of this message, please notify the sender immediately, and delete the message and any attachments. Any disclosure, reproduction, distribution or other use of this message or any attachments by an individual or entity other than the intended recipient is prohibited.

Añadir map con rutas

Este pedido nos Twitter y posiblemente esta relacionado a #31.

image

No tenemos muchos detalles pero una vez los consigamos los añado aquí.

Add meta tags

Abajo los meta tags que tiene el site actual, hay que actualizar los que tienen imagenes para incluir la imagenes en el repo y linkiar correctamente.

<title>Entérate, Ayuda, Informa - Suministros Puerto Rico</title>
<meta name="description" content="La donación de suministros a las áreas más afectadas del país por el terremoto ha sido un éxito. Esta página pretende ser un vehículo de distribución equitativa para estos suministros, administrada por la misma gente que dona, y que recibe."/>

<meta property="og:locale" content="es_ES" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Entérate, Ayuda, Informa - Suministros Puerto Rico" />
<meta property="og:url" content="https://suministrospr.com/" />
<meta property="og:site_name" content="Suministros Puerto Rico" />
<meta property="og:image" content="" />
<meta property="og:image:secure_url" content="" />
<meta property="og:image:width" content="" />
<meta property="og:image:height" content="" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Entérate, Ayuda, Informa - Suministros Puerto Rico" />
<meta name="twitter:image" content="" />

<link rel="shortcut icon" href="" type="image/x-icon" />
<link rel="canonical" href="https://suministrospr.com/" />
<link rel="dns-prefetch" href="//fonts.googleapis.com" />

Publicar viajes de entrega de suministros

Las personas que harán viajes para entregar suministros deben poder publicar:

  • Cuando van a hacer el viaje
  • A donde van a ir a llevar suministros
  • Que suministros van a llevar en ese viaje
  • Info de contacto para que quien quiera aportar suministros a ese viaje pueda entregarlos
  • Modificar home para mostrar:
    • Necesidades por refugio (esto es la data que ya tenemos)
    • Entregas de suministros (la data que producirá este feature)

Desktop HD

Puntos de integración

  • Botón en home [Crear entrega de suministros] - lleva a formulario para crear entrega
  • Botón en pagina de refugio [Crear entrega de suministros] - lleva a formulario para crear entrega con lugar de entrega pre-seleccionado pero editable.

Campos de formulario

  • Nombre de grupo o persona encargado de la entrega
  • Teléfono
  • Otra info de contacto
  • Fecha de salida de viaje de entrega de suministros
  • Lugar de entrega
  • Descripción - campo abierto con algunas sugerencias de que texto incluir como placeholder o en un help text.
    • ¿Se estarán aceptando suministros del público? ¿Hasta cuando? ¿Lugar de encuentro?
    • ¿Que suministros se llevarán?
    • ¿Necesitan vehículos adicionales?
    • ¿La entrega fue completada?
    • Enlaces a fotos en social media de la entrega

Página de entregas / Lista de entregas en home

  • Organizada por fecha de entrega (la próxima primero)
  • Esconder entregas que haya pasado la fecha con filtro (Ver entregas anteriores)

Stretch goals

  • En campo de lugar de entrega poder seleccionar de la lista de lugares registrados o crear lugar con solo entrar nombre
  • Marcar entrega como completada

QA Diseño

  • el copy aguante aún más pequeño.
  • font Montserrat.
  • el título del Municipio/Sector/Refugio está muy grande still. yo tengo ahora mismo ese título en 35px (montserrat)
  • cuadremos los bullets con el párrafo de arriba

¿Hace falta pautar en Facebook para incrementar visitas de donantes o líderes comunitarios?

Wepa, hola, acá desde la Florida me enteré que Giovanni está colaborando con el grupo para organizar la ayuda y me motivé a ver cómo puedo ayudarles. Tengo background en web dev y mercadeo digital, so si surge algo que entiendan que pueda ayudarles, me avisan.

Se me ocurre que quizás haga falta una manera de llegarle a más líderes de comunidad (targeting páginas de Facebook creadas para recolectas por ejemplo) ó generar más tráfico calificado de donantes en la isla (targeting más amplio).

Acá unas ideas para ads en FB/Instagram, pero necesitaríamos una página de Facebook. Primero evaluaría si es una táctica que haga falta. De igual forma, si es coders or $ lo que necesitan, también se puede hacer una campaña para esos objetivos..

Screen Shot 2020-01-15 at 11 03 06 AM

Screen Shot 2020-01-15 at 11 09 36 AM

AttributeError on first load of resource

So I'm getting an error "AttributeError: 'bool' object has no attribute 'get'" when I click on links for the first time. If i reload the page or go back and click again it works fine. I think I narrowed the issue down to the CacheMixin.

Adding a line with response.render() right below the cache.set lambda seems to resolve the issue for me. I'll submit that change for you guys to determine if it makes sense.

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.