|
||
---|---|---|
bsition | ||
docs | ||
.gitignore | ||
.pre-commit-config.yaml | ||
LICENSE.md | ||
README.md | ||
docker-compose.yml | ||
poetry.lock | ||
pyproject.toml | ||
run.sh |
README.md
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
- Anidación de documentos
- Compartir bases de datos
Presentación
Puede verla en el siguiente link.
Requerimientos
Debe instalar:
- Docker
- Docker-compose
- Python >= 3.10
- 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
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á 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 y 9200.
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
Por último, para correr la API + backend, 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 testeo.
Además, cuenta con una colección de Postman
en docs/bsition_postman.json. Consulte el siguiente link 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)