Rest Countries Info APP es un pequeño proyecto construido con Django que utiliza la API de REST Countries y la API de Wikipedia para visualizar informaciones detalladas de los países del mundo. Este proyecto se ha desarrollado con Python 3.12, JavaScript, Bootstrap 5, HTML5 y CSS3.
Asegúrate de tener Python instalado en tu sístema, para comprobarlo abre la línea de comandos y ejecuta el siguiente comando:
py --version # Windows
python --version # Unix/macOS
Si no tienes Python instalado entra en https://www.python.org/downloads/ y descarga la última versión.
- Clona el repositorio:
git clone https://github.com/davevad93/rest-countries-django-app.git
- Entra en la carpeta del repositorio:
cd rest-countries-django-app
- Crea un entorno virtual:
py -m venv venv # Windows
python -m venv venv # Unix/macOS
- Activa el entorno virtual:
venv/Scripts/activate.bat # Windows
source venv/bin/activate # Unix/macOS
- Entra en la carpeta del proyecto:
cd myproject
- Instala los paquetes necesarios:
py -m pip install -r requirements.txt # Windows
python -m pip install -r requirements.txt # Unix/macOS
- Genera una clave secreta aleatoria y guárdala en el archivo .env:
(Esta aplicación no utiliza un sistema de autenticación y no almacena datos sensibles, sin embargo la mejor práctica es crear una clave secreta y almacenarla en una variable de entorno).
# PASO 1: Abre el Shell de Python en el terminal.
py manage.py shell # Windows
python manage.py shell # Unix/macOS
# PASO 2: Importa la función get_random_secret_key().
from django.core.management.utils import get_random_secret_key
# PASO 3: Genera la clave secreta con la función get_random_secret_key().
print(get_random_secret_key())
# Copia la clave.
# PASO 4: Cierra el Shell de Python.
exit()
# PASO 5: Crea el archivo .env con la variable de entorno "SECRET KEY" y copia la clave generada en el PASO 3.
echo SECRET_KEY = 'Pega aquí la clave generada en el PASO 3' > .env
- Pon en marcha el servidor web de desarrollo:
py manage.py runserver # Windows
python manage.py runserver # Unix/macOS
- Accede a la aplicación a través de tu browser web en
http://localhost:8000
.
Puede haber inconsistencias con respecto a la información de ciertos países. Esto se debe a que para mostrar las informaciones básicas de cada país he usado la API de Rest Countries (última actualización del 2021) mientras que para mostrar las descripciones de los países he usado la API de Wikipedia (actualizada constantemente). Por poner un ejemplo, en Rest Countries aparece China como el páis más poblado, pero en 2022 India la ha superado, siendo a día de hoy el páis con más habitantes en el mundo.
-
REST Countries API por los datos de los países mostrados en la app.
-
Wikipedia API por las descripciones de los países mostrados en la app.
-
Font Awesome por el ícono fa-search utilizado en la barra de búsqueda de la app.
-
Awesome Badges por las insignias en la sección "Desarrollado con".
Algunos escudos de los países mostrados en este proyecto no proceden del JSON de la API di REST Countries porque algunos valores clave están vacíos, así que he exportado los escudos faltantes desde Wikimedia Commons. La mayor parte de ellos están en el dominio público y no necesitan atribución de autoría, pero algunos están bajo licencia de Creative Commons por tanto, voy a citar los autores dándole los créditos.
-
Demidow, Coat of arms of the British Indian Ocean Territory, CC BY-SA 3.0
-
Squiresy92 & Sodacan, Coat of arms of Norfolk Island, CC BY-SA 4.0
-
Heralder, Coat of arms of the Commonwealth of Puerto Rico, CC BY-SA 3.0
-
Government of the Collectivity of Saint-Martin, Local flag of the Collectivity of Saint Martin, Licence Ouverte 2.0
-
Josedar, Coat of arms of the Turks and Caicos Islands, CC BY-SA 4.0
Cualquier tipo de aportación es bienvenida! Si encuentras algún problema o tienes algúna sugerencia para mejorar el proyecto, por favor abre una issue o forkea el repositorio y haz una pull request. No te olvides de dar una estrella al proyecto. Muchísimas gracias!
Este proyecto está bajo licencia MIT. Para obtener más información, consulta el archivo de LICENCIA.