gdgtoledo/linneo

Iniciar debate sobre el diseño del sistema

Closed this issue · 13 comments

Discutamos aquí sobre:

  • APIs
  • Lenguaje
  • Entidades del dominio
  • Tipos de tests
  • Casos de uso
  • etc.

Entidades del Dominio

Un primer posible enfoque podría ser éste, en el que se tiene una única entidad Tree:

tree:
  name: string
  geo:
    lat: float
    long: float

El name por defecto sería a almez, porque si lo dejamos así sería extensible a cualquier otro tipo de árbol.
En cuanto a la geolocalización, con almacenar las coordenadas sería suficiente para abstraerlo del sistema de representación (Google Maps, Open Street Map...)

Casos de Uso

  • Como ciudadano, quiero ver todos los árboles del tipo almez en un mapa
  • Como administrador, quiero dar de alta un árbol del tipo almez a partir de su ubicación
  • Como administrador, quiero dar de baja un árbol del tipo almez a partir de su ubicación

Tema: Entidades de dominio

Segun lo que veo, estaria bien

tree:
  id: int
  type: string
  geo:
    lat: float
    long: float

creo que type seria mejor naming que el propio name
y no estaría de más im id enetro positivo por cada arbol.

Tema: Casos de uso

Como ciudadano, quiero ver todos los árboles del tipo almez en un mapa

Los vitaminaria con

Como ciudadano, quiero ver todos los árboles del tipo almez en el barrio de Santa Bárbara en un mapa

Caso de uso de Usuario

1 se puede resolver en una UI de mapas con filtrado por barrio

Caso de uso de Administrador

2 y 3 se puede resolver en un cli

EL lenguaje prefiero ver en qué deriba esto para ver la mejor opción en cuanto al lenguaje

Lo del filtrado por barrio lo veo como una evolución de la primera iteración, verlos en un mapa, el tema del barrio es un concepto que posiblemente los mapas open no tengan per-sé

tree:
  id: int
  type: string
  geoposition:
    latitude: float
    longitude: float

Mientras no nos cobren por letra :)

Entidades de dominio:

En lugar de Tree, veo mejor Plant.

Incluiría el género y especie según la clasificación de Linneo, ya que es una de las clasificaciones de plantas más aceptadas y extendidas

plant:
  id: int
  genere: string
  species: string
  geo:
    lat: float
    long: float
  1. Decimos poco per sé, hay que decirlo más

  2. Me encanta que @manudevelopia se haya unido a esta fase de diseño ya que él es medio ambiental, es nuestro Cousteau.

Cousteau,Cousteau,Cousteau,Cousteau
Cousteau,Cousteau,Cousteau,Cousteau,Cousteau,Cousteau

Le comandant!, Le comandant!

Existe un API para la clasificación de Linneo???

lo mismo este es otro proyecto a parte...

Voy a crear una issue por cada tipo: entities, casos de uso, stack... cerrando ésta

Package Delivery!

image

Issue partida en #2 y #3 de momento

Browni dispacher