{"id":22733753,"url":"https://github.com/marcesdan/weather-app-api","last_synced_at":"2025-03-30T02:11:14.474Z","repository":{"id":214134213,"uuid":"735778041","full_name":"marcesdan/weather-app-api","owner":"marcesdan","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-27T13:34:51.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-05T04:32:03.768Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcesdan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-26T03:52:19.000Z","updated_at":"2023-12-26T03:54:40.000Z","dependencies_parsed_at":"2025-02-05T04:31:24.154Z","dependency_job_id":"bf4af64e-5271-44b6-b43b-694e62a6a907","html_url":"https://github.com/marcesdan/weather-app-api","commit_stats":null,"previous_names":["marcesdan/weather-app-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcesdan%2Fweather-app-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcesdan%2Fweather-app-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcesdan%2Fweather-app-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcesdan%2Fweather-app-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcesdan","download_url":"https://codeload.github.com/marcesdan/weather-app-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246266247,"owners_count":20749754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-10T20:16:01.085Z","updated_at":"2025-03-30T02:11:14.456Z","avatar_url":"https://github.com/marcesdan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Weather API\n\nAPI REST consumida por la app de clima.\n\n- [**Demo de la App**](https://weather-app-front-indol.vercel.app) |\n  [**Repo de la App**](https://github.com/marcesdan/weather-app-front)\n\n- [**Demo de la API**](https://weather-app-api-pzz2.onrender.com) |\n  [**Repo de la API**](https://github.com/marcesdan/weather-app-api)\n\n## Endpoints\n\n- `GET /api/v1/onecall?lat={latitude}\u0026lon={longitude}`\n- `GET /api/v1/ip-api?ip={ip_address}`\n- `GET /api/v1/geo/direct?city={city_name}`\n- `GET /api/v1/geo/reverse?lat={latitude}\u0026lon={longitude}`\n\n\u003e 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`.\n\u003e Puede seguir las instrucciones [aqui](https://openweathermap.org/api/one-call-3)\n\n## Estructura de directorios\n\n- 📦src\n- ┣ 📂api\n- ┃ ┣ 📂v1\n- ┃ ┃ ┣ 📂geo\n- ┃ ┃ ┃ ┣ 📂controller\n- ┃ ┃ ┃ ┗ 📂routes\n- ┃ ┃ ┣ 📂ip-api\n- ┃ ┃ ┃ ┣ 📂controller\n- ┃ ┃ ┃ ┗ 📂routes\n- ┃ ┃ ┗ 📂onecall\n- ┃ ┃ ┃ ┣ 📂controller\n- ┃ ┃ ┃ ┗ 📂routes\n- ┃ ┗ 📂v2\n- ┣ 📂interfaces\n- ┣ 📂services\n- ┗ 📂utils\n- 📦test\n\n\u003c/br\u003e\n\u003c/br\u003e\n\nHow to use this template:\n\n```sh\nnpx create-express-api --typescript --directory my-api-name\n```\n\nIncludes API Server utilities:\n\n- [morgan](https://www.npmjs.com/package/morgan)\n  - HTTP request logger middleware for node.js\n- [helmet](https://www.npmjs.com/package/helmet)\n  - Helmet helps you secure your Express apps by setting various HTTP headers. It's not a silver bullet, but it can help!\n- [dotenv](https://www.npmjs.com/package/dotenv)\n  - Dotenv is a zero-dependency module that loads environment variables from a `.env` file into `process.env`\n- [cors](https://www.npmjs.com/package/cors)\n  - CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options.\n\nDevelopment utilities:\n\n- [typescript](https://www.npmjs.com/package/typescript)\n  - TypeScript is a language for application-scale JavaScript.\n- [ts-node](https://www.npmjs.com/package/ts-node)\n  - TypeScript execution and REPL for node.js, with source map and native ESM support.\n- [nodemon](https://www.npmjs.com/package/nodemon)\n  - 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.\n- [eslint](https://www.npmjs.com/package/eslint)\n  - ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.\n- [typescript-eslint](https://typescript-eslint.io/)\n  - Tooling which enables ESLint to support TypeScript.\n- [jest](https://www.npmjs.com/package/jest)\n  - Jest is a delightful JavaScript Testing Framework with a focus on simplicity.\n- [supertest](https://www.npmjs.com/package/supertest)\n  - HTTP assertions made easy via superagent.\n- Husky + Lint-Staged + Eslint + Prettier\n\n## Setup\n\n```bash\ncp .env.example\n```\n\n```bash\nnpm install\n```\n\n## Lint\n\n```bash\nnpm run lint\n```\n\n## Test\n\n```bash\nnpm run test\n```\n\n## Development\n\n```bash\nnpm run dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcesdan%2Fweather-app-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcesdan%2Fweather-app-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcesdan%2Fweather-app-api/lists"}