{"id":15099669,"url":"https://github.com/aimarbustamante/weather-app","last_synced_at":"2026-01-07T03:43:19.686Z","repository":{"id":249328850,"uuid":"831214664","full_name":"AimarBustamante/Weather-App","owner":"AimarBustamante","description":"Web application where you can check the weather for various cities around the world with dynamic information fetched from an API.","archived":false,"fork":false,"pushed_at":"2024-07-20T00:26:29.000Z","size":1727,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T18:12:09.430Z","etag":null,"topics":["api","axios","axios-react","cssmodules","cssmodules-react","react","typescript","vite","weather","weather-api","weather-app","web-app","zod"],"latest_commit_sha":null,"homepage":"https://weather-app-004.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AimarBustamante.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-07-20T00:11:22.000Z","updated_at":"2024-07-20T00:29:04.000Z","dependencies_parsed_at":"2024-07-20T03:52:15.577Z","dependency_job_id":null,"html_url":"https://github.com/AimarBustamante/Weather-App","commit_stats":null,"previous_names":["aimarbustamante/weather-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AimarBustamante%2FWeather-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AimarBustamante%2FWeather-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AimarBustamante%2FWeather-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AimarBustamante%2FWeather-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AimarBustamante","download_url":"https://codeload.github.com/AimarBustamante/Weather-App/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245855692,"owners_count":20683561,"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":["api","axios","axios-react","cssmodules","cssmodules-react","react","typescript","vite","weather","weather-api","weather-app","web-app","zod"],"created_at":"2024-09-25T17:25:43.060Z","updated_at":"2026-01-07T03:43:19.644Z","avatar_url":"https://github.com/AimarBustamante.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌦️ Weather App\n\n![mockup-browser](public/image/mockup-browser.png)\n\n## 📖 Project Description\nWeather App is a web application where you can check the weather for various cities around the world with dynamic information fetched from an API.\n\n## 🎨 Project Features\n- **City Search**: Search for weather information in many cities around the world.\n- **Current Weather**: View the current weather conditions including temperature and it's minimum and maximum temperature.\n- **Error Handling**: Displays user-friendly error messages when there are issues with fetching data.\n- **Responsive Design**: Optimized for both desktop and mobile devices.\n\n## 🚀 Technologies Used\n![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB) \n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![CSS_Modules](https://img.shields.io/badge/CSS%20Modules-000?style=for-the-badge\u0026logo=cssmodules\u0026logoColor=white)\n![Vite](https://img.shields.io/badge/Vite-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=FFD62E)\n![Axios](https://img.shields.io/badge/axios-671ddf?\u0026style=for-the-badge\u0026logo=axios\u0026logoColor=white)\n![Zod](https://img.shields.io/badge/Zod-000000?style=for-the-badge\u0026logo=zod\u0026logoColor=3068B7)\n\n## 📄 Additional Resources\n\n![Google_Fonts](https://img.shields.io/badge/Google%20Fonts-4285F4?style=for-the-badge\u0026logo=googlefonts\u0026logoColor=white)\n\n- **Typography**: Utilized Google Fonts for the project's typography.\n\n## 🌐 API Used\nThe API used for this project is [OpenWeather](https://openweathermap.org/).\n\n## 📚 What I Learned\nThis is the first project where I learned to securely consume an API, ensuring the JSON response matches the defined types. I also learned various methods to type API results, such as using Types, Type Guards, Zod, or Vailbot. While I am using Zod in this project, other methods are available in the code as examples. Additionally, I learned how to style the project using CSS Modules.\n\n## 🖼️ Screenshots\n\n![mockup-browser-2](public/image/mockup-browser-2.png)\n![mockup-browser](public/image/mockup-browser.png)\n\n### Error message if user donsen't adds a city and country\n![mockup-browser-3](public/image/mockup-browser-3.png)\n\n### Error message if city donsen't exists\n![mockup-browser-4](public/image/mockup-browser-4.png)\n\n## 📬 Contact Information\n\n[![My_Portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://aimarbusta.dev/)\n[![LinkedIn](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/aimarbustamante/)\n[![Instagram](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge\u0026logo=instagram\u0026logoColor=white)](https://www.instagram.com/aimarbusta.dev/) \n[![Email](https://img.shields.io/badge/Microsoft_Outlook-0078D4?style=for-the-badge\u0026logo=microsoft-outlook\u0026logoColor=white)](mailto:aimarbustamante379@hotmail.com) \n[![WhatsApp](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge\u0026logo=whatsapp\u0026logoColor=white)](https://wa.me/65167602) \n[![Frontend_Mentor](https://img.shields.io/badge/Frontend_Mentor-3F54A3?style=for-the-badge\u0026logo=frontendmentor\u0026logoColor=white)](https://www.frontendmentor.io/profile/AimarBustamante) ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faimarbustamante%2Fweather-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faimarbustamante%2Fweather-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faimarbustamante%2Fweather-app/lists"}