linneo's People
linneo's Issues
Añadir requerimientos minímos al readme.md
Veo que nuestro stack necesita unos minimos
- Go v1.10.0+
- Docker-compose v18.06.0+
por ejemplo al hacer make build sin satisfacer la versión para tener el compose file format
docker-compose -f ./docker/docker-compose.yml build
ERROR: Version in "././docker/docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
make: *** [Makefile:3: build] Error 1
Añadir estos minimos en la documentación del proyecto
Crear template para las PRs
La idea es poder definir un template de PR, de modo que ayuden a los revisores a entender el contexto y las consideraciones realizadas a la hora de enviar una PR.
Entidades del Dominio
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...)
Originally posted by @mdelapenya in #1 (comment)
Umm según lo que comentas debajo, estaría bien colocar un type: String em eñ struc
Implementar HTTP POST/plants
Este endpoint almacenará una nueva planta en el almacenamiento primario, en este caso Elasticsearch
La Github template para PRs no se ve
Posiblemente haya que nombrarla pull_request_template.md
Implementar HTTP DELETE/plants/{id}
Este endpoint borrará una planta en el almacenamiento primario, en este caso Elasticsearch, identificada por su clave primaria, o id.
Una respuesta con éxito DEBERÍA ser un 200 (Accepted) si el recurso ha sido encolado para su borrado (operación asíncrona), o 200 (OK) / 204 (No Content) si el recurso ha sido borrado permanentemente (operación síncrona).
Crear un Contributing.md
Cosas a incluir:
- Reglas de estilo
- Número de OKs para mergear
- Formato de las PRs
...
Enlazar este documento con el readme.md principal en una sección que se llame
¿Cómo puedo contribuir?
Para contribuir tenemos un documento con información detallada de todo el contexto que necesitas para aportar valor al proyecto.
Iniciar debate sobre el diseño del sistema
Discutamos aquí sobre:
- APIs
- Lenguaje
- Entidades del dominio
- Tipos de tests
- Casos de uso
- etc.
Integrar APM Agent para obtener trazas de aplicación
Una de las ventajas de usar el Elastic Stack es que tiene APM Out-of-the-box.
Integrar pre-commit
Queremos automatizar todo lo posible las tareas que eliminen productividad
- checks de formateo de código
- Comprobar el correcto nombrado de commits
- Lanzar los test locales
https://pre-commit.com permite hacerlo
Casos de Uso
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
Originally posted by @mdelapenya in #1 (comment)
Implementación de los casos de uso
Vamos a crear un API REST con los siguientes métodos:
- HTTP GET/plants, que retornará todas las plantas almacenadas (Ver #5)
- HTTP POST/plants, que almacenará una nueva planta (Ver #6)
- HTTP DELETE/plants/{id}, que eliminará una planta por su id (Ver #7)
Cada método tendrá su propio issue
HTTP o HTTP2
Pues esto.
¿Necesitamos HTTP2?
¿Nos sale gratis?
De ser no, ¿Cuanto nos costaria?
Implementar HTTP GET/plants
Este endpoint retornará todas las plantas existentes en el almacenamiento primario, en este caso Elasticsearch
Implementar HTTP GET/plants/{id}
Este endpoint recogerá una planta del almacenamiento primario, en este caso Elasticsearch, identificada por su clave primaria, o id.
Una respuesta con éxito DEBERÍA ser 200 (OK) / 204 (No Content) si el recurso ha sido recogido para su devolución al cliente que hizo la petición (operación síncrona).
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.