Skip to content

Latest commit

 

History

History
175 lines (108 loc) · 8.51 KB

README.it.md

File metadata and controls

175 lines (108 loc) · 8.51 KB

Rest Countries Info APP License: MIT Python Django

Homepage

- Introduzione -

Rest Countries Info APP è un piccolo progetto costruito con Django che utilizza la API di REST Countries e la API di Wikipedia per visualizzare le informazioni dettagliate dei paesi del mondo. Questo progetto è stato fatto con Python 3.12, JavaScript, Bootstrap 5, HTML5 e CSS3. È il primo progetto che carico su GitHub e il primo in assoluto che ho sviluppato con Django, quindi protrebbero esserci degli errori, pertanto qualsiasi contributo o consiglio è ben accetto.

- Requisiti -

Assicurati di avere Python installato nel tuo sistema, per verificarlo apri la riga di comando ed esegui questo comando:

    py --version # Windows
    python --version # Unix/macOS

Se non hai Python installato visita https://www.python.org/downloads/ e scarica l'ultima versione.

- Installazione -

  1. Clona la repository:
    git clone https://github.com/davevad93/rest-countries-django-app.git
  1. Entra nella cartella della repository:
    cd rest-countries-django-app
  1. Crea un ambiente virtuale:
    py -m venv venv # Windows
    python -m venv venv # Unix/macOS
  1. Attiva l'ambiente virtuale:
    venv/Scripts/activate.bat # Windows
    source venv/bin/activate # Unix/macOS
  1. Entra nella cartella del progetto:
    cd myproject
  1. Installa i pacchetti necessari:
    py -m pip install -r requirements.txt # Windows
    python -m pip install -r requirements.txt # Unix/macOS
  1. Genera una chiave segreta casuale e salvala in un file .env:
    (Questa app non utilizza un metodo di autenticazione e non immagazzina dati sensibili, ma in ogni caso è sempre meglio creare una chiave segreta e salvarla in una variabile d'ambiente).
    # PASSO 1: Apri la Shell di Python nel terminale.

    py manage.py shell # Windows
    python manage.py shell # Unix/macOS
    # PASSO 2: Importa la funzione get_random_secret_key().

    from django.core.management.utils import get_random_secret_key
    # PASSO 3: Genera la chiave segreta con la funzione get_random_secret_key().

    print(get_random_secret_key())
    # Copia la chiave.
    # PASSO 4: Chiudi la Shell di Python.

    exit()
    # PASSO 5: Crea il file .env con la variabile d'ambiente "SECRET KEY" e copia la chiave generata nel PASSO 3. 

    echo SECRET_KEY = 'Incolla la chiave generata nel PASSO 3' > .env
  1. Avvia il server di sviluppo:
    py manage.py runserver # Windows
    python manage.py runserver # Unix/macOS
  1. Accedi all'applicazione con il tuo browser web visitando http://localhost:8000.

Homepage

- Caratteristiche -

  • Cerca i paesi per nome.

Search

  • Filtra i paesi per regione.

Filter

  • Visualizza le informazioni dettagliate di ogni paese.

Description

  • Funzione di ricerca cliccando sulle tessere.

Card

- Note aggiuntive -

Potrebbero esserci delle inconsistenze riguardo alle informazioni di certi paesi. Questo è dovuto al fatto che per mostrare le informazioni basiche di ogni paese (p. e. popolazione) ho usato la API di Rest Countries (ultimo aggiornamento nel 2021) mentre per mostrare le descrizioni dei paesi ho usato la API di Wikipedia (che viene aggiornata costantemente). Per fare un esempio su Rest Countries la Cina risulta ancora come il paese più popolato, peró nel 2022 l'India la ha superato, essendo al giorno d'oggi il paese con più abitanti al mondo.

- Sviluppato con -

  • Python
  • Django
  • JavaScript
  • Bootstrap
  • HTML
  • CSS

- Riconoscimenti -

- Crediti -

Alcuni stemmi dei paesi mostrati in questo progetto non provengono dal JSON della API di REST Countries perche certi valori chiave sono vuoti, quindi ho esportato gli stemmi mancanti da Wikimedia Commons. La maggior parte di essi sono di dominio pubblico e non hanno bisogno di attribuzione d'autore ma alcuni sono sotto licenza di Creative Commons, perciò ne elencherò gli autori dando i dovuti crediti.

- Contribuire al progetto -

Ogni tipo di contributo è benvenuto! Se trovi qualche problema o hai un suggerimento per migliorare il progetto, per favore apri una issue o esegui il fork del repository e fai una pull request. Non dimenticare di dare una stella al progetto. Grazie mille!

- Licenza -

Questo progetto è sotto Licenza MIT. Per saperne di più, dai un'occhiata al file di LICENZA.