Skip to content

Jakub-Laska/weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weather App

Overview This project is a simple weather app that allows users to select a weather type from a dropdown menu, enter a temperature in degrees, and receive a description of the weather based on the selected type and temperature. The app also includes a dark mode feature.

What I Learned

  • DOM Manipulation: I learned how to use JavaScript to interact with HTML elements. This includes changing element styles, adding and removing event listeners, and updating the content dynamically based on user input.
  • Event Handling: I implemented event listeners to handle user interactions such as clicking on dropdown options and submitting temperature values.
  • Conditional Logic: I used conditional statements to provide different responses based on the selected weather type and the input temperature.
  • Theme Switching: I explored how to create different visual themes for the app and switch between them, including implementing a dark mode.
  • Error Handling: I added basic validation to ensure that the user inputs a temperature value before proceeding.

Features

  • Dropdown Menu: Users can select a weather type from a dropdown menu.
  • Temperature Input: Users can input a temperature value in degrees.
  • Weather Descriptions: The app provides a descriptive message based on the selected weather type and temperature.
  • Dark Mode: Users can switch between light and dark mode for better visual comfort.
  • Error Handling: The app prompts the user to enter a temperature value if none is provided.

Room for Improvement

  • Code Refactoring: The code can be improved by refactoring repetitive sections, especially in the theme functions and weather descriptions.
  • Accessibility Enhancements: Adding more accessibility features such as ARIA roles and keyboard navigation support could make the app more user-friendly.
  • Optimization: Optimize JavaScript and CSS for better performance, especially when dealing with multiple DOM manipulations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published