Este proyecto es un backend desarrollado con Django que interactúa con la API de CoinGecko para proporcionar información sobre criptomonedas. El backend ofrece varios endpoints para obtener el estado de la API, listar criptomonedas, obtener información específica de una criptomoneda, obtener el historial de precios de una criptomoneda y buscar una criptomoneda por nombre.
-
Status de la API
- URL:
/status/ - Método:
GET - Descripción: Verifica si la API key empleada en CoinGecko está disponible.
- URL:
-
Listar Criptomonedas
- URL:
/coins/page/<int:page>/ - Método:
GET - Descripción: Obtiene una lista de criptomonedas paginada de 10 en 10 para evitar la saturación.
- URL:
-
Información de una Criptomoneda
- URL:
/coins/<str:coinID>/ - Método:
GET - Descripción: Obtiene información vital de una única criptomoneda basada en su ID.
- URL:
-
Historial de Precios de una Criptomoneda
- URL:
/coins/chart/<str:coinID>/ - Método:
GET - Descripción: Obtiene el historial de precios de una criptomoneda durante los últimos 7 días.
- URL:
-
Buscar Criptomoneda por Nombre
- URL:
/coins/search/<str:coinName>/ - Método:
GET - Descripción: Busca una criptomoneda por su nombre.
- URL:
-
Clona el repositorio del proyecto:
git clone URL_DEL_REPOSITORIO cd backend cd CriptoApi
-
Crea un entorno virtual y actívalo:
python -m venv venv source venv/bin/activate # En Windows usa `venv\Scripts\activate`
-
Instala las dependencias del proyecto:
pip install -r requirements.txt
-
Realiza las migraciones de la base de datos:
cd .\CriptoApi\ python manage.py migrate
-
Ejecuta el servidor de desarrollo:
python manage.py runserver
-
Verifique que el servidor esté en funcionamiento visitando
http://127.0.0.1:8000/status/
manage.py: Comando principal de Django para la administración del proyecto.CriptoApi/: Directorio de configuración principal de Django.app/: Aplicación principal del proyecto que contiene las vistas y modelos.requirements.txt: Lista de dependencias del proyecto.Procfile: Archivo de configuración para el despliegue en Render en un futuro.
para la segunda parte de este proyecto utilizamos React para el frontend, el cual se encarga de consumir los endpoints del backend y mostrar la información de las criptomonedas.
los puntos que se nos piden en el contrato son:
- Consumir el endpoint del backend.
- mostrar los datos en un gráfico usando una biblioteca como Chart.js o Recharts. (utilizare chart de shadcn).
- diseño limpio y simple para el landing page.
-
Abra una nueva terminal y navegue hasta el directorio
frontend:cd frontend cd .\cripto_front\
-
Instale las dependencias del proyecto:
npm install
-
Inicie el servidor de desarrollo:
npm start
-
Abra su navegador y visite
http://localhost:3000/para ver la aplicación.
Aquí tienes una sección revisada para el README que incluye instrucciones claras sobre cómo utilizar Docker para montar el proyecto, reemplazando el mensaje de aviso importante por los pasos apropiados:
Para facilitar el despliegue y la ejecución de este proyecto, hemos preparado instrucciones detalladas para construir y ejecutar el proyecto utilizando Docker. Sigue estos pasos para montar el proyecto con Docker:
Si prefieres utilizar Docker Compose para gestionar ambos contenedores simultáneamente, asegúrate de tener un archivo docker-compose.yml configurado correctamente en la raíz del proyecto. Luego, ejecuta el siguiente comando en el directorio donde se encuentra el archivo docker-compose.yml:
docker compose up -dEste comando iniciará todos los servicios definidos en tu archivo docker-compose.yml en modo detached, permitiéndote trabajar con el proyecto mientras los contenedores están en ejecución.
Siguiendo estos pasos, podrás montar y ejecutar el proyecto utilizando Docker de manera efectiva.
-
Construir la Imagen del Backend: Navega hasta el directorio del backend del proyecto. Ejecuta el siguiente comando para construir la imagen de Docker para el backend:
docker build -t nombre-imagen-backend .Este comando crea una imagen de Docker llamada
nombre-imagen-backendbasada en el Dockerfile presente en el directorio actual. -
Construir la Imagen del Frontend: Similarmente, navega hasta el directorio del frontend del proyecto. Ejecuta el siguiente comando para construir la imagen de Docker para el frontend:
docker build -t nombre-imagen-frontend .Este comando crea una imagen de Docker llamada
nombre-imagen-frontend.
Una vez que las imágenes están construidas, puedes ejecutar los contenedores para el backend y el frontend.
-
Ejecutar el Contenedor del Backend:
docker run -d --name nombre-container-backend -p 8001:8000 nombre-imagen-backend
Este comando ejecuta el contenedor del backend en modo detached (
-d) y expone el puerto 8000 del contenedor al puerto 8001 de tu máquina local. -
Ejecutar el Contenedor del Frontend:
docker run -d --name nombre-container-frontend -p 3000:3000 nombre-imagen-frontend
De manera similar, este comando ejecuta el contenedor del frontend y expone el puerto 3000 del contenedor al puerto 3000 de tu máquina local.
-
Para verificar que el contenedor del backend está corriendo y la API está disponible, visita
http://localhost:8001/status/en tu navegador. -
Para visualizar la interfaz de usuario del frontend, visita
http://localhost:3000/en tu navegador.
Proyecto Realizado Por Jeronimo Riveros para como coding challenge para MyWacc.
