81 lines
2.1 KiB
Markdown
81 lines
2.1 KiB
Markdown
# BSition
|
|
|
|
### Funciones a implementar
|
|
|
|
- Creación de documentos
|
|
- Edición de documentos
|
|
- Anidación de documentos
|
|
- Creación de tablas (estilo base de datos)
|
|
- Edición de tablas
|
|
- Filtrado y ordenado de tablas
|
|
|
|
### Presentación
|
|
|
|
Puede verla en el siguiente [link](https://www.canva.com/design/DAFSnStE99g/k9QGkxyRYkvtTKGQK7vpTg/view).
|
|
|
|
## Requerimientos
|
|
|
|
Debe instalar:
|
|
|
|
- Docker
|
|
- Python
|
|
- Poetry
|
|
|
|
## Instalación
|
|
|
|
Debe correr:
|
|
|
|
```
|
|
sh run.sh -i
|
|
```
|
|
|
|
## Ejecución
|
|
|
|
Primero y principal, debe agregar un archivo `.env` en la raíz del proyecto que debe contener las siguientes variables:
|
|
|
|
```
|
|
SECRET=J4s1S2rl83pWTK1BcM5VL/rjjT51HLcADWqn4aoq2iS5qbg3wAtO4NlZ98=
|
|
MONGO_URL=mongodb://root:password@localhost:27017
|
|
ELASTIC_URL=http://localhost:9200
|
|
ELASTIC_PASSWORD=password
|
|
POSTGRES_HOST=localhost
|
|
POSTGRES_DB=bd2
|
|
POSTGRES_USER=root
|
|
POSTGRES_PASSWORD=password
|
|
```
|
|
|
|
En un ambiente de testeo (como es el caso) puede simplemente copiar el archivo pero, si se corriese en producción, se deberían cambiar las contraseñas.
|
|
|
|
Debe dejar los URLs de las bases de datos como se indicaron pues así se las configuró con docker.
|
|
|
|
Luego, para levantar las bases de datos debe correr:
|
|
|
|
```
|
|
sh run.sh -d
|
|
```
|
|
|
|
Debe esperar al menos 30s (dependiendo de su computadora) para que levanten todas las bases de datos. Una forma de verificar que hayan levantado todas es que no siga habiendo nuevo output en la terminal que corrió el comando anterior.
|
|
|
|
Además, en otra terminal, debe configurar las bases de datos mediante el siguiente comando:
|
|
|
|
```
|
|
sh run.sh -c
|
|
```
|
|
|
|
Por último, para correr la API, debe hacerlo mediante:
|
|
|
|
```
|
|
sh run.sh -a
|
|
```
|
|
|
|
## Documentación de la API
|
|
|
|
Puede ir a `http://localhost:8000/docs` para ver el Swagger. Notemos que se usó en todo momento localhost pues se supone un ambiente de testing. Usted debería hacer los cambios necesarios si es que requiere correr `BSition` en producción.
|
|
|
|
Además, cuenta con una colección de `Postman` en [docs/bsition_postman.json](docs/bsition_postman.json). Aquí se muestra, a grandes rasgos, el funcionamiento de la API.
|
|
|
|
## Autores
|
|
- Barmasch, Juan Martín (61033)
|
|
- Bellver, Ezequiel (61268)
|
|
- Lo Coco, Santiago (61301)
|