114 lines
3.0 KiB
Markdown
114 lines
3.0 KiB
Markdown
# BSition
|
|
|
|
### Funciones a implementar
|
|
|
|
#### Obligatorias
|
|
|
|
- Creación de documentos
|
|
- Compartir documentos
|
|
- Creación de tablas (estilo base de datos)
|
|
- Filtrado y ordenado de tablas
|
|
- Búsqueda entre documentos
|
|
|
|
#### Opcionales
|
|
|
|
- Documentos públicos
|
|
- Compartir bases de datos
|
|
|
|
### Presentación
|
|
|
|
#### Parcial
|
|
|
|
Puede verla en el siguiente [link](https://www.canva.com/design/DAFSnStE99g/k9QGkxyRYkvtTKGQK7vpTg/view).
|
|
|
|
#### Final
|
|
|
|
Puede verla en el siguiente [link](https://www.canva.com/design/DAFVUEarNQ4/D4Bi_6SiJX2HKUG3563iVg/view).
|
|
|
|
## Requerimientos
|
|
|
|
Debe instalar:
|
|
|
|
- docker
|
|
- docker-compose
|
|
- python >= 3.10
|
|
- poetry
|
|
- npm
|
|
|
|
## 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
|
|
POSTGRES_HOST=localhost
|
|
POSTGRES_DB=bd2
|
|
POSTGRES_USER=root
|
|
POSTGRES_PASSWORD=password
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
```
|
|
|
|
En un ambiente de testeo (como es el caso) puede simplemente copiar el archivo, pero, si se corriese en producción, se deberá cambiar dependiendo el caso de uso.
|
|
|
|
Debe dejar los URLs de las bases de datos como se indicaron pues así se las configuró con docker. Por lo tanto, deberá dejar libres los puertos 5432, 27017, 9200 y 6379.
|
|
|
|
Ahora, para levantar las bases de datos (usando `docker-compose`) debe correr:
|
|
|
|
```
|
|
sh run.sh -d
|
|
```
|
|
|
|
Debe esperar al menos 30 segundos (dependiendo de su computadora) para que levanten todas las bases de datos. Una forma de verificar que hayan levantado es que no siga habiendo nuevo output en la terminal que corrió el comando anterior.
|
|
|
|
Luego, en otra terminal, debe configurar las bases de datos mediante el siguiente comando:
|
|
|
|
```
|
|
sh run.sh -c
|
|
```
|
|
|
|
Además, para correr la API + backend (notando que la API correrá por defecto en el puerto 8000), debe hacerlo mediante:
|
|
|
|
```
|
|
sh run.sh -a
|
|
```
|
|
|
|
Por último, debe levantar el frontend (usará el puerto 3000) mediante:
|
|
|
|
```
|
|
sh run.sh -f
|
|
```
|
|
|
|
Note que si está usando `github codespace` deberá cambiar la variable `API_URL` en el archivo `bsition/frontend/next.config.js` a, por ejemplo:
|
|
|
|
```
|
|
module.exports = {
|
|
env: {
|
|
API_URL: 'https://slococo-miniature-space-giggle-49wqx5x94p276pq-8000.preview.app.github.dev',
|
|
},
|
|
}
|
|
```
|
|
|
|
## 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 testeo.
|
|
|
|
Además, cuenta con una colección de `Postman` en [docs/bsition_postman.json](docs/bsition_postman.json). Consulte el siguiente [link](https://learning.postman.com/docs/getting-started/importing-and-exporting-data/) para ver cómo se importa.
|
|
|
|
En esta colección se muestra, a grandes rasgos, el funcionamiento de la API.
|
|
|
|
## Autores
|
|
- Barmasch, Juan Martín (61033)
|
|
- Bellver, Ezequiel (61268)
|
|
- Lo Coco, Santiago (61301)
|