Git Product home page Git Product logo

jonybuzz / encontralo Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 3.0 6.49 MB

El buscador Nº1 de mascotas perdidas. Esto recién comienza. Formá parte desde este gran proyecto! Oficialmente abierto a colaboración

Home Page: https://encontralo.com.ar

License: GNU General Public License v3.0

JavaScript 9.82% Vue 21.06% SCSS 0.70% CSS 1.94% HTML 1.82% Java 64.67%
spring-boot framework7 vue animal open-source

encontralo's Introduction

All Contributors

logo encontralo.com.ar

Web que reúne mascotas perdidas con sus dueños. Roadmap: https://github.com/jonybuzz/encontralo/projects/1

⭐ Cómo contribuir

Si querés ayudarnos, ésta es la guía para contribuir. También podés sumarte al espacio de Slack para ver en qué andamos o hacer consultas

🚀 Empezar

  1. Crear una base de datos MySQL con el nombre encontralo, accesible por root:root
  2. Si estás usando IntelliJ, ejecutar la config "Boot local". Si usás otro IDE, configurar la variable de entorno SPRING_PROFILES_ACTIVE=local y ejecutar ./mvnw spring-boot:run
  3. Para cargar algunos datos de pruebas, ejecutar el SQL de test en la base de datos

El desarrollo debe hacerse localmente porque aún no contamos con un entorno remoto para eso.

📄 Diseño

↗️ Diagrama de clases

Diseño

↗️ Editar en diagrams.net

El ejecutable de la aplicación es un JAR que contiene todo lo necesario para correr. El frontend maneja el código como un proyecto independiente y está ubicado en /src/main/frontend. Al momento de empaquetar el JAR, se compila el frontend y se incluye dentro.

🎨 Frontend

Ver README del frontend

💾 Tecnologías

📖 Guías oficiales

Colaboradores ✨

Se agradece el trabajo de estos devs (emoji key):


ghostframe

💻

Adrian Zubieta Hernández

💻

El proyecto usa la especificación de all-contributors. La colaboración siempre es bienvenida!

encontralo's People

Contributors

adrianzubieta avatar allcontributors[bot] avatar ghostframe avatar jonybuzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

encontralo's Issues

Sección de colaboradores

Linkear desde la home a una página o popup que muestre la lista de colaboradores del proyecto. Con foto(opcional), nombre y link(opcional)

Ver cómo implementar

Login con FB o email para anunciar

Cualquier persona puede loguearse con Facebook o con un mail para anunciar.

Es para prevenir ataques con bots que carguen basura. También va a servir en el futuro para enviar notificaciones o revisar los propios anuncios

Postear y buscar gatos perdidos

Usuario sube anuncios de gatos.

Detalle:

Tener en cuenta las diferencias de algunos atributos para la especie Gato a la hora de cargar o buscar anuncios

Postear perros perdidos

Usuario sube los datos del perro encontrado:

  • Raza (seleccionable)
  • Tamaño (chico, mediano, grande)
  • Franja etaria (cachorro, adulto-joven, adulto, adulto mayor)
  • Colores (seleccionable)
  • Tiene collar? (si/no/nada)
  • Pelaje (corto/largo)
  • Ubicación (mapa)
  • Información adicional
  • Teléfono de contacto

Branch: feature/postear-perros-perdidos

Subtareas:

  • API Rest
  • Frontend
  • Landing básica (por ser la primera tarea)

Carga automática de posteos en redes

Un proceso automático carga los posteos de perdidos o encontrados con las fotos y la info que se pueda extraer.

La complejidad de esto está en la clasificación del posteo y la extracción de datos a partir de un texto libre. Ver si se puede descomponer en alguna funcionalidad más chica.

https://developers.facebook.com/docs/graph-api/reference/page/published_posts/

Tareas:

  • Analizar permisos necesarios para leer posteos de páginas de FB
  • Disponibilizar en la web la política de privacidad y las condiciones del servicio que pide Facebook
  • Configurar app de FB con permisos para leer posts de páginas
  • Crear módulo de procesamiento de texto para extraer info estructurada -> Wit.ai
  • Agregar a la entidad Anuncio un origen(web, facebook, instagram) y un link
  • #33
  • Mostrar en la vista de detalle de anuncio si fue cargado con facebook y el link

Buscar entre mascotas perdidas o encontradas

Usuario entra a la web y busca entre los anuncios de perdidos al perro que encontró.
Usuario entra a la web y busca entre los anuncios de encontrados al perro que perdió.

Detalle:

Desde la home, navega hacia la página de Perdidos. Ahí ve los últimos N anuncios de perdidos según fecha de publicación en formato listado o galería (componente de la home). Cada ítem muestra nombre, fecha de publicación y ubicación a modo de resumen.
Hay un filtro que permite seleccionar especie, raza y ubicación. Cada vez que se selecciona un filtro, se aplica automáticamente y refresca los anuncios. Poner botón "Ver más..." para traer la siguiente tanda de anuncios o infinite scroll.

N es el tamaño de paginación definido en el backend.

Tareas:

  • Adaptar endpoint Rest para filtrar anuncios por esos atributos
  • Crear página de búsqeda para ver anuncios. Precargada con filtro por tipo de anuncio
  • Cuando se clickea en un anuncio, mostrar toda la info (preferentemente en modal)
  • Modificar home para navegar hacia la nueva página

Ideas

  • Publicar anuncios random en cuentas de Facebook e Instagram
  • Notificar una coincidencia entre perdidos y encontrados
  • Tomar posts de páginas públicas de Facebook como entrada de anuncios
  • Completar la info faltante de los posts de forma colaborativa. Útil en caso de creación automática de anuncios o para validar info ingresada por otros usuarios.

Subir fotos de mascota encontrada o perdida

Usuario postea la info y le agrega algunas fotos del perro
(máximo 3 y hasta 4MB cada una)

Detalle:

Cuando se carga un anuncio, permitir subir hasta 3 fotos. Las ve cuando se cargan correctamente y recibe una alerta cuando se produce un error. La validación de cantidad y tamaño debe estar en front y back.
Se esperan las imágenes en formato base64 como parte del JSON de nuevo anuncio enviado al back

Tareas:

  • Nuevo input de imágenes en la pantalla de carga & feedback de carga (ok y error)
  • Validar tamaño y cantidad en front
  • Validar tamaño y cantidad en back
  • Mostrar la imagen numero 1 en la galería de anuncios

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.