Retrieve the holidays from a specific country.
Available countries »
Explore the docs »
Report Bug
Request Feature
Table of Contents
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
- Get a free API Key at https://example.com
- Clone the repo
git clone https://github.com/github_username/repo_name.git
- Install NPM packages
npm install
- Enter your API in
config.js
const API_KEY = 'ENTER YOUR API';
Crear una API REST con GO que devuelva los feriados para un pais especifico.
Como?
- Crear una base de datos con un modelo del tipo descrito debajo. Agregar una API, usar Gingonic para crear un endpoint. Que, cuando alguien consulte a la API, busque holidays para el pais recibido en la URL dentro de la base, filtrando el año solicitado si ningun feriado existe, disparar un Script que complete los datos y retornar la respuesta. El script debería pegarle a https://date.nager.at/api/v3/publicholidays/2024/AR, responder al usuario y correr un metodo que almacene los feriados nuevos.
La arquitectura: Lambdas? EC2 t2 micro que autoescalen horizontalmente, que esten dentro de una red privada conectadas a una tabla no relacional. Load balancer derivando las requests. El Load balancer tiene acceso a la red privada de EC2s y tiene un endpoint y puerto publico. Route 53 con un alias al load balancer.
- Performance
- Codigo
- No crear una base. Actuar como interfaz entre la API date.nager. Crear una API que tenga un metodo que le pegue a la API y retorne la respuesta.
La arquitectura, la misma sin la Base de datos.
- Country: codigo(PK), nombre, estado(activo o no).
- Holiday: fecha, pais(codigo PK), tipo de feriado
Endpoint URL: api/v1/publicholidays/2024/AR Endpoint Response:
```
[
{
"date": "2024-01-01",
"localName": "Año Nuevo",
"name": "New Year's Day",
"countryCode": "AR",
"fixed": true,
"global": true,
"counties": null,
"launchYear": null,
"types": [
"Public"
]
},
{
"date": "2024-02-12",
"localName": "Carnaval",
"name": "Carnival",
"countryCode": "AR",
"fixed": false,
"global": true,
"counties": null,
"launchYear": null,
"types": [
"Public"
]
}
]
```