https://github.com/iaacosta/iic2173-chat
Small request/response chat application made for the IIC2173 - Software Systems Architecture course
https://github.com/iaacosta/iic2173-chat
aws docker docker-compose ecs flask nginx react s3 typescript
Last synced: 3 months ago
JSON representation
Small request/response chat application made for the IIC2173 - Software Systems Architecture course
- Host: GitHub
- URL: https://github.com/iaacosta/iic2173-chat
- Owner: iaacosta
- Created: 2019-08-31T04:14:11.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T02:20:10.000Z (over 3 years ago)
- Last Synced: 2025-10-06T21:31:24.900Z (9 months ago)
- Topics: aws, docker, docker-compose, ecs, flask, nginx, react, s3, typescript
- Language: TypeScript
- Homepage:
- Size: 4.74 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Entrega final - IIC2173
## Integrantes
...
## Stack
La aplicación se desarrollo con las siguientes herramientas:
| Servicio | Lenguaje | Framework | Source code |
| ---------- | ---------- | --------- | ---------------- |
| API | Python | flask | `~/api` |
| Storage | SQL | sqlite3 | `~/api/database` |
| Frontend | Typescript | React.js | `~/client` |
| Web server | nginx | - | `~/nginx.conf` |
## Instrucciones
### Local
- Instalar `yarn@^1.13.0`, `node@^10.0.0` y `python@^3.7`
- Instalar `pipenv` en `python`
- En el directorio de la `api/`, correr los siguientes comandos para instalar
```sh
pipenv shell
pipenv install
```
Y posteriormente correr `pipenv run seed` para hacer la base de datos inicial.
- En el directorio del `client/`, correr el siguiente comando:
```sh
yarn
```
- Correr ambos servicios en paralelo con `pipenv run dev` en `api/` y `yarn start` en `client/`
### Docker
- Construir contenedores con `docker-compose build`
- Correr contenedores con `docker-compose up`
## Deploy
### Variables de entorno
Debes definir las siguientes variables de entorno
| Variable | Signficado |
| ----------- | ---------------------------------------------------------------------- |
| ECR_URL | URL del container en Amazon Elastic Container Registry (url/container) |
| ECS_CLUSTER | Nombre del cluster al cual hacer el deploy |
| ECS_SERVICE | Nombre del servicio que corre los containers en el cluster |
### Instrucciones
1. Asegurarse de que tengas acceso al repositorio en Docker. Si no tienes acceso, debes usar la consola de AWS.
1. Configurar tu credencial IAM con `aws configure` (debes tener un ID y SECRET de una credencial IAM de la cuenta del repositorio). **NOTA**: toma en cuenta las regiones.
2. Iniciar sesión en repositorio para Docker con `eval $(aws ecr get-login --no-include-email --region us-east-1)`.
2. Correr el script con `bash deploy_ecs.sh` o `sh deploy_ecs.sh`.