Skip to content

kurai021/panamaql

Repository files navigation

PanamaQL

PanamaQL es una API construida en GraphQL para proporcionar información detallada sobre la división administrativa de Panamá, incluyendo provincias, distritos, corregimientos y comarcas. La API permite realizar consultas específicas sobre cada región y obtener detalles precisos como la capital de cada provincia o la cabecera de cada distrito.

Características

  • Consulta de Provincias: Obtén información sobre las provincias, incluyendo sus distritos y capitales.
  • Consulta de Distritos: Busca distritos específicos por nombre, tanto en provincias como en comarcas.
  • Consulta de Comarcas: Detalla las comarcas con sus distritos y capitales.
  • GraphQL API: Una API flexible que permite obtener exactamente los datos que necesitas.

Requisitos

Instalación

  1. Clona el repositorio:

    git clone https://github.com/kurai021/panamaql.git
  2. Entra en el directorio del proyecto:

    cd panamaql
  3. Instala las dependencias:

    npm install

    o si prefieres yarn:

    yarn install
  4. Ejecuta el servidor:

    npm run dev

    o, si usas yarn:

    yarn dev

El servidor estará disponible en http://localhost:3000.

Uso

Ejemplos de Consultas en GraphQL

Una vez que el servidor esté en ejecución, puedes acceder a la interfaz de GraphQL Playground en http://localhost:3000/graphql para realizar consultas.

  1. Obtener todas las provincias con sus distritos y corregimientos:
query {
    provincia {
        id
        nombre
        mapa
        capital
        habitantes
        superficie
        distrito {
            id
            nombre
            cabecera
            corregimientos
        }
    }
}
  1. Buscar una provincia por ID, en la siguiente tabla se muestran los IDs por provincia
ID Provincia
PA-BT Bocas del Toro
PA-C Coclé
PA-CL Colón
PA-CH Chiriquí
PA-D Darién
PA-H Herrera
PA-LS Los Santos
PA-P Panamá
PA-PO Panamá Oeste
PA-V Veraguas
query {
    provinciaById(id: "PA-V") {
        id
        nombre
        mapa
        capital
        distrito {
            nombre
        }
    }
}
  1. Buscar una provincia por nombre
query {
    provinciaByName(name: "Panamá") {
        id
        nombre
        mapa
        capital
        distrito {
            nombre
        }
    }
}
  1. Buscar un distrito por nombre
query {
    distritoByName(name: "San Miguelito") {
        id
        nombre
        cabecera
        corregimientos
    }
}
  1. Obtener todas las comarcas
query {
    comarca {
        id
        nombre
        mapa
        capital
        habitantes
        superficie
        distrito {
            nombre
            corregimientos
        }
    }
}
  1. Buscar una comarca por ID, en la siguiente tabla se muestran los IDs por comarca
ID Comarca
PA-EW Emberá-Wounaan
PA-GY Guna Yala
PA-NTD Naso Tjër Di
PA-NB Ngäbe-Buglé
query {
    comarcaById(id: "PA-NTD") {
        id
        nombre
        capital
        distrito {
            id
            nombre
            cabecera
            corregimientos
        }
    }
}
  1. Buscar una comarca por nombre
query {
    comarcaByName(name: "Ngäbe-Buglé") {
        id
        nombre
        capital
        distrito {
            id
            nombre
            cabecera
            corregimientos
        }
    }
}

Pruebas

Para ejecutar las pruebas, utiliza el siguiente comando:

npm test

# o si usas yarn

yarn test

Contribución

¡Las contribuciones son bienvenidas! Si quieres colaborar, sigue estos pasos:

  1. Haz un fork del proyecto.
  2. Crea una nueva rama para tu funcionalidad (git checkout -b feature/nueva-funcionalidad).
  3. Realiza tus cambios y haz commit (git commit -am 'Añadir nueva funcionalidad').
  4. Sube tus cambios a tu rama (git push origin feature/nueva-funcionalidad).
  5. Abre un Pull Request.

About

Organización Territorial de Panamá en GraphQL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published