learning-bootcamps / iOS-Development-Bootcamp-July-2023

1 stars 6 forks source link

iOS-Developemnt-Bootcamp-July-2023-Project-2 #22

Closed Alja7dali closed 11 months ago

Alja7dali commented 11 months ago

Weather App

Project Description

Develop an iOS weather application that interacts with the OpenWeatherMap API to retrieve and display weather information for a specific city. The app will provide users with up-to-date weather details, including temperature, humidity, wind speed, and weather conditions.

Rules & Guidelines

  1. Use SwiftUI for UI development.
  2. Implement data persistence, in-device store only.
  3. Ensure the app is responsive and works on different iOS devices.
  4. Follow Human Interface Guidelines (HIG) for consistent design.
  5. Test thoroughly for bugs and errors.
  6. Properly structured and documented code.
  7. Submit the project by the specified deadline.

Key Features

  1. City Selection: Users should be able to input a city name to view its weather information.
  2. Weather Display: Display current weather details, such as temperature, humidity, wind speed, and weather conditions.
  3. Icon Representation: Utilize appropriate weather icons to visually represent the weather conditions.
  4. Search Functionality: Implement a search feature to enable users to easily find and select their desired city.
  5. Error Handling: Provide appropriate error messages and notifications for cases where the city data cannot be retrieved or the API request fails.
  6. Units Conversion: Include an option to switch between metric and imperial units for temperature and other measurements.
  7. Caching: Implement a simple caching mechanism to store previously fetched weather data for faster access when revisiting the same city.

Technical Requirements

  1. API Integration: Utilize the OpenWeatherMap API (https://openweathermap.org/api) to retrieve weather data based on the city name.
  2. Networking: Use a networking library (e.g., Alamofire or URLSession) to make API requests and handle responses.
  3. Data Parsing: Parse the JSON data from the API response to extract relevant weather details.
  4. User Interface: Design an intuitive and user-friendly interface using UIKit or SwiftUI, including appropriate labels, icons, and layout.
  5. Icon Integration: Incorporate weather icons in the UI to visually represent weather conditions. Consider using FontAwesome icons or similar resources.
  6. Search Implementation: Implement a search bar or search field for users to input city names.
  7. Unit Selection: Create a settings section to allow users to choose between metric and imperial units for temperature and other measurements.
  8. Error Handling: Implement error handling for cases such as network errors, invalid city names, and API errors. Display relevant messages to the user.
  9. Caching Mechanism: Develop a basic caching mechanism using UserDefaults or a similar approach to store and retrieve previously fetched weather data.
  10. App Icon and Launch Screen: Design an app icon and launch screen that align with the weather theme and branding.

Ideas for Extra Credit

  1. Location Services: Incorporate the user's device location to automatically fetch weather data for their current location.
  2. Extended Forecast: Provide a forecast for the upcoming days in addition to the current weather.
  3. Detailed Weather Conditions: Offer additional weather details, such as sunrise/sunset times and atmospheric pressure.
  4. Themes: Implement different visual themes or color schemes for the app's interface.
  5. Animated Icons: Add animations to weather icons to reflect real-time weather changes.

Inspiration

Submission Guidelines

Grading Criteria

Your project will be graded based on the following criteria:

Additional Notes

Deadline

Submit your project prior start of next session.

diya0o commented 11 months ago

diya alawdah https://github.com/diya0o/iOS-Developemnt-Bootcamp-July-2023-Project-2

Ranaa2000 commented 11 months ago

Rana Almuaied https://github.com/Ranaa2000/iOS-Developemnt-Bootcamp-July-2023-Project-2.git

juhaina75i commented 11 months ago

Juhaina https://github.com/juhaina75i/iOS-Developemnt-Bootcamp-July-2023-Project-2.git

Afrah34 commented 11 months ago

Afrah https://github.com/Afrah34/iOS-Developemnt-Bootcamp-July-2023-Project-2.git

MuneeraYousaf commented 11 months ago

Muneera Altanam https://github.com/MuneeraYousaf/iOS-Developemnt-Bootcamp-July-2023-Project-2.git

ShaimaAlharbi0 commented 11 months ago

Shaima Alharbi https://github.com/ShaimaAlharbi0/iOS-Developemnt-Bootcamp-July-2023-Project-2.git

ghadah2019 commented 11 months ago

ghada alonezan https://github.com/ghadah2019/iOS-Developemnt-Bootcamp-July-2023-Project-2.git

SarahAlmutlaq00 commented 11 months ago

sarah Almutlaq https://github.com/SarahAlmutlaq00/iOS-Developemnt-Bootcamp-July-2023-Project-2

muhammedalmanie commented 11 months ago

Mohammed Almanie https://github.com/muhammedalmanie/iOS-Developemnt-Bootcamp-July-2023-Project-2

SaraSd7 commented 11 months ago

Sara AlDossari https://github.com/SaraSd7/iOS-Developemnt-Bootcamp-July-2023-Project-2

Afnan153 commented 11 months ago

Afnan AlThobiti https://github.com/Afnan153/iOS-Developemnt-Bootcamp-July-2023-Project-2

SaraAlmishaan commented 11 months ago

https://github.com/SaraAlmishaan/iOS-Developemnt-Bootcamp-July-2023-Project-2

Afnanxt commented 11 months ago

https://github.com/Afnanxt/weather-project

ALWALEED-KHUSHAIM commented 11 months ago

ALwaleed Khushaim

https://github.com/ALWALEED-KHUSHAIM/iOS-Developemnt-Bootcamp-July-2023-Project-2

SakinahAlnajjar commented 11 months ago

Sakinah Alnajjar https://github.com/SakinahAlnajjar/iOS-Developemnt-Bootcamp-July-2023-Project-2

khuloudAlshammari commented 11 months ago

khuloud alshammari https://github.com/khuloudAlshammari/iOS-Developemnt-Bootcamp-July-2023-Project-2

hibahalatawi commented 11 months ago

https://github.com/hibahalatawi/iOS-Developemnt-Bootcamp-July-2023-Project-2

Alanoud900 commented 11 months ago

Alanoud https://github.com/Alanoud900/project-2