Skip to content

jbozas/country_holidays

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


World Holidays

Retrieve the holidays from a specific country.
Available countries »
Explore the docs »

Report Bug Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

Built With

Go

(back to top)

Getting Started

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.

Prerequisites

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

Installation

  1. Get a free API Key at https://example.com
  2. Clone the repo
    git clone https://github.com/github_username/repo_name.git
  3. Install NPM packages
    npm install
  4. Enter your API in config.js
    const API_KEY = 'ENTER YOUR API';

(back to top)

Idea

Crear una API REST con GO que devuelva los feriados para un pais especifico.

Como?

  1. 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
  1. 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"
    ]
}
]
```

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published