Skip to content

marcesdan/weather-app-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Mariano César D'Angelo
Dec 27, 2023
6b9843f · Dec 27, 2023

History

11 Commits
Dec 16, 2023
Dec 27, 2023
Dec 27, 2023
Dec 16, 2023
Dec 26, 2023
Dec 26, 2023
Dec 22, 2023
Dec 16, 2023
Dec 16, 2023
Dec 16, 2023
Dec 27, 2023
Dec 16, 2023
Dec 27, 2023
Dec 27, 2023
Dec 16, 2023

Repository files navigation

Weather API

API REST consumida por la app de clima.

Endpoints

  • GET /api/v1/onecall?lat={latitude}&lon={longitude}
  • GET /api/v1/ip-api?ip={ip_address}
  • GET /api/v1/geo/direct?city={city_name}
  • GET /api/v1/geo/reverse?lat={latitude}&lon={longitude}

Para poder ejecutar la api en forma local, es necesario generar una api key en Open Weather Map, y suscribirse al servicio One Call 3.0. Luego poner esa api key en la variable de entorno OPEN_WEATHER_MAP_API_KEY. Puede seguir las instrucciones aqui

Estructura de directorios

  • 📦src
  • ┣ 📂api
  • ┃ ┣ 📂v1
  • ┃ ┃ ┣ 📂geo
  • ┃ ┃ ┃ ┣ 📂controller
  • ┃ ┃ ┃ ┗ 📂routes
  • ┃ ┃ ┣ 📂ip-api
  • ┃ ┃ ┃ ┣ 📂controller
  • ┃ ┃ ┃ ┗ 📂routes
  • ┃ ┃ ┗ 📂onecall
  • ┃ ┃ ┃ ┣ 📂controller
  • ┃ ┃ ┃ ┗ 📂routes
  • ┃ ┗ 📂v2
  • ┣ 📂interfaces
  • ┣ 📂services
  • ┗ 📂utils
  • 📦test


How to use this template:

npx create-express-api --typescript --directory my-api-name

Includes API Server utilities:

  • morgan
    • HTTP request logger middleware for node.js
  • helmet
    • Helmet helps you secure your Express apps by setting various HTTP headers. It's not a silver bullet, but it can help!
  • dotenv
    • Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env
  • cors
    • CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options.

Development utilities:

  • typescript
    • TypeScript is a language for application-scale JavaScript.
  • ts-node
    • TypeScript execution and REPL for node.js, with source map and native ESM support.
  • nodemon
    • nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected.
  • eslint
    • ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
  • typescript-eslint
    • Tooling which enables ESLint to support TypeScript.
  • jest
    • Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
  • supertest
    • HTTP assertions made easy via superagent.
  • Husky + Lint-Staged + Eslint + Prettier

Setup

cp .env.example
npm install

Lint

npm run lint

Test

npm run test

Development

npm run dev

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published