ApplicationServer es un backend que permite administrar una red social de usuarios, donde los mismos pueden:
- Administrar amistades
- Publicar historias con fotos, videos, título, descripción, especificadas en una ubicación geográfica por coordenadas
- Publicar historias rápidas con un período de 4hs de vigencia
- Envío de notificaciones relevantes para el usuario
Esta es una aplicación desarrollada en python flask v1, conectada a una base de datos mongodb, y una base redis.
A su vez esta aplicación se encuentra conectada a una instancia del backend de shared server.
Paralelamente, se utilizan algunos servicios externos:
- Facebook para autenticación de usuarios
- Firebase para envío de notificaciones push
Para correr la app local, debe existir un archivo en el directorio /src/config/.env
con las siguientes variables:
SHARED_SERVER_HOST=<SHARED_SERVER_HEROKU_URL>
SERVER_USER=<SHARED_SERVER_ADMIN_USER>
SERVER_PASSWORD=<SHARED_SERVER_ADMIN_PASSWORD>
MONGO_URL=<MONGO_DB_CONNECTION_URL>
REDIS_HOST=<REDIS_HOST>
REDIS_PORT=<REDIS_PORT>
ANDROID_APP_TOKEN=<FACEBOOK_ANDROID_SDK_TOKEN>
FIREBASE_SERVER_KEY=<FIREBASE_SERVER_KEY>
LOGGING_LEVEL=<DEBUG|OTHER>
FLASH_STORY_VALID_HOURS=<TOTAL_TIME_IN_HOURS_FLASH_STORY_IS_VALID>
- Docker
- Docker-compose
En el directorio raíz del proyecto ejecutar el siguiente comando:
$~ docker-compose up
Esto levanta una instancias del aplication server, conectado con un container que contiene la base de datos MongoDB.
Para ejecutar comandos como pip install <paquete>, se puede conectar al docker container de la siguiente manera:
$~ docker exec -it <nombre_del_container> sh