Giter VIP home page Giter VIP logo

hw-2's Introduction

HW-2

Description:

Your task is to create a functional and user-friendly Weather app using Flutter. The app should accurately retrieve and display weather information based on the user's location or a location of their choice. Users should be able to view the current weather conditions, such as temperature, humidity, wind speed, and weather description (e.g., sunny, rainy, cloudy). All weather data should be fetched from a reliable weather API and displayed in a user-friendly manner.

Rules & Guidelines

  1. Group Work: You and your group members are expected to work collaboratively on the capstone project. Each group member should contribute to the project, and collaboration among group members is encouraged to deliver a well-rounded and polished application.

  2. Version Control (Git): Create a Git repository for your project. Commit frequently with descriptive messages to show your progress throughout the development.

  3. Clean Code: Write code that is clear, well-organized, and follows standard coding conventions. Use meaningful variable and function names to enhance code readability. Maintain a consistent coding style across the project. Consider implementing the Clean Architecture principles to organize your codebase, separating concerns into different layers (e.g., presentation, domain, data) for better maintainability and scalability.

Schedule & Deadlines:

  • Project Submission Deadline: 9/11/2023 – 9:59 AM

Minimum Requirements:

  1. Correct Structure: Ensure that the application is built with the appropriate structure. Follow Flutter's best practices for organizing code and project files.

  2. Code Quality:

    • The project code should follow Flutter's best practices for organizing code and project files.
    • Your code should be clean, well-structured, and easy to understand.
    • Use meaningful variable and function names to enhance code readability.
  3. Data Representation: Treat weather data as objects using a model. Create a model class to define the structure of weather information.

  4. App Design and User Experience:

    • The app should have an intuitive and visually appealing user interface.
    • Ensure that the design elements, colors, and fonts are consistent and pleasing to the eye.
    • Users should be able to navigate the app easily and access all features without confusion.
    • Use appropriate icons and graphics to represent weather conditions and forecast details.
  5. Error Handling: Implement proper error handling mechanisms for cases where the weather API data is not available or errors occur during data retrieval.

Ideas for Extra Credit:

  • Dark Mode: Implement a dark mode option in the Weather app, allowing users to switch between light and dark themes based on their preferences. Ensure that the dark mode is visually appealing and does not compromise the app's user experience.
  • Location Autocomplete: Enhance the user experience by adding location autocomplete functionality to the app's search feature. Utilize a location-based API or service to provide suggestions as users type, making it easier for them to select their desired location.
  • Weather Animations: Add subtle animations to the app's UI to create a more engaging and dynamic user experience. For example, you could animate weather icons, temperature changes, or background transitions based on weather conditions.
  • Weather Forecast: Extend the app to display weather forecasts for the upcoming days, allowing users to plan ahead and stay prepared for changing weather conditions.

Delivery Requirements:

  1. GitHub Submission:

    • Create a Fork from the project’s GitHub repository.
    • Create a new branch with your name.
    • Commit frequently with descriptive messages to show your progress.
    • Finally, create a Pull Request to the project’s original repository containing your solution.
  2. Readme File:

    • Provide a README.md file in the root directory of your riles.
    • Provide a detailed and well-structured description of the project in the README file, including the following sections:
      • Project Overview.
      • Screenshots: Include relevant screenshots of the app to showcase its appearance and functionalities. Visuals can help users understand the app's design and layout.

Resources:

  • Dart Tutorials
  • Flutter Documentation
  • Flutter Tutorial by GeeksforGeeks

Good luck with your exam project! If you have any general questions or need guidance, don't hesitate to reach out to the instructor. Happy coding!

hw-2's People

Contributors

hadeel-harbi avatar badrsh980 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.