El proyecto Bot Stock es una aplicación que utiliza un bot para realizar consultas y manejar datos de acciones del mercado. Está diseñado para interactuar con una base de datos PostgreSQL y proporcionar una API utilizando FastAPI. El frontend está construido con React y se sirve a través de Nginx.
Antes de empezar, asegúrate de tener instaladas las siguientes herramientas:
-
Clonar el Repositorio
git clone https://github.com/luissamano/bot_stock.git cd bot_stock
-
Crear Archivos
.env
Es necesario crear dos archivos
.env
uno va dentro de la carpeta frontend y el otro en la raiz del proyecto.Asegúrate de definir las variables de entorno necesarias en el archivo
.env
. Por ejemplo:Archivo 1 (Dentro de la carpeta frontend)
REACT_APP_API_URL=http://localhost:8000
Raiz del proyecto:
DB_NAME=stocks DB_USER=postgres DB_PASS=postgres API_KEY= DB_HOST=bot_stock-db-1
Para obtner tu API_KEY aqui
-
Construir y Levantar los Contenedores
Ejecuta Docker Compose para construir y levantar los contenedores.
docker-compose up --build
Esto construirá las imágenes para el backend y el frontend, y levantará los contenedores de PostgreSQL, FastAPI y React.
-
Acceder a la Aplicación
- Frontend (React): http://localhost
- Backend (FastAPI): http://localhost:8000
La aplicación frontend se sirve en el puerto 80, mientras que el backend de FastAPI está disponible en el puerto 8000.
-
API Endpoint para Consultar Acciones
GET /stocks
- Obtiene todos los registros de acciones. -
API Endpoint para Crear una Acción
POST /fetch_and_create_stock
- Crea una nueva acción a partir de un símbolo proporcionado.Parámetros:
symbol
: El símbolo de la acción a buscar.
Ejemplo de Solicitud:
curl -X 'GET' \ 'http://localhost:8000/stocks' \ -H 'accept: application/json'
La API cuenta con SWAGGER, puedes aceder a la UI aqui