Update README.md

parent 0803d1f4
......@@ -2,47 +2,46 @@
Proyecto para bases de datos NoSQL
....
### Pre-requisitos 📋
## Pre-requisitos 📋
```
_Que cosas necesitas para instalar el software y como instalarlas_
```
* Java 1.8 o superior
* Elipse 2019-09 (Java EE)
* Docker (Windows Pro)
* RavenDB
* Wildfly 11
* Redis https://github.com/dmajkic/redis/downloads)
* Postman
1. Java 1.8 o superior
2. Elipse 2019-09 (Java EE)
3. Docker (Windows Pro)
* RavenDB
* Wildfly 11
* Redis https://github.com/dmajkic/redis/downloads)
4. Postman
```
### Instalación 🔧
## Instalación 🔧
```
_Requisitos para un ambiente de desarrollo_
```
* Bajar repositorio de Git y abrirlo con Eclipse
* Instalar Docker
* Crear una imagen de Docker e instalar WildFly
* Crear una imagen de Docker e instalar Redis
* Configurar los puertos correspondientes (6379)
* Crear una imagen de Docker e instalar RavenDB
* Generar un EAR con Eclipse y agregando las IP's correspondientes para las conexiones de las Bases de Datos
* Agregarle el Ear al WildDly
* Hacer RUN a los contenedores creados con las imagenes anteriores
1. Bajar repositorio de Git y abrirlo con Eclipse
2. Instalar Docker
3. Crear una imagen de Docker e instalar WildFly
* Crear una imagen de Docker e instalar Redis (Configurar los puertos correspondientes (6379))
* Crear una imagen de Docker e instalar RavenDB
3. Generar un EAR con Eclipse y agregando las IP's correspondientes para las conexiones de las Bases de Datos
* Agregarle el Ear al WildDly
4. Hacer RUN a los contenedores creados con las imagenes anteriores
```
```
*Los dockers deben encontrarse en la misma network*
- Los dockers deben encontrarse en la misma network*
```
......@@ -70,12 +69,12 @@ Con estas pruebas debemos de obtener los resultados exitosos de una comunicacion
### Ejemplo de pruebas ⌨️
## Ejemplo de pruebas ⌨️
* Alta de usuario
POST: http://localhost:8080/Twotter-web/rest/usuarios
### Alta de usuario
> POST: http://localhost:8080/Twotter-web/rest/usuarios
```
{
"nombre":"Emiliano",
......@@ -83,9 +82,9 @@ POST: http://localhost:8080/Twotter-web/rest/usuarios
}
```
* Publicar Comentario
### Publicar Comentario
http://localhost:8080/Twotter-web/rest/publicar
> POST http://localhost:8080/Twotter-web/rest/publicar
```
{
"texto" :"Primera Publicacion",
......@@ -93,15 +92,39 @@ http://localhost:8080/Twotter-web/rest/publicar
}
```
Obtener Publicaciones de usuario
### Obtener Publicaciones de usuario
http://localhost:8080/Twotter-web/rest/usuarios/publicaciones
> GET http://localhost:8080/Twotter-web/rest/usuarios/publicaciones
```
{
"emailUsuario" : "emimartins@vera.com.uy"
}
```
## UML ✒️
## Decisiones 🎲️
```
Elegimos usar Redis para el cache de existencia de usuarios.
```
*¿Como?*
```
Cuando se crea un usuario se persiste en RavenDB y en Redis (Este último con un tiempo de expiración)
Cuando se realiza cualquier acción que involucre la existencia de un Usuario la logica del negocio realiza la siguiente busqueda:
```
* Buscar existencia en Redis
* Si existe retorno *True*
* Si no existe:
* Busco existencia en RavenDB
* Si no existe retorno *False*
* Si existe:
* Persisto en Redis el usuario con tiempo de expiración
* Retorno *True*
```
De no encontrarlo en redis
```
## UML 🛠️
![UML](https://imgur.com/vYMy0vl.png)
## Autores ✒️
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment