RealTimeWeather_Complete_Report
RealTimeWeather_Complete_Report
PROJECT REPORT
Submitted By:
Manish Kumar
Roll No: 22RU311028
B.Tech CSE (3rd Year)
Submitted To:
Dr. Rajendra Singh Khatana
Manish Kumar
22RU311028
ACKNOWLEDGMENT
I take this opportunity to express my deep sense of gratitude to my project guide Dr.
Rajendra Singh Khatana for his invaluable guidance, continuous encouragement, and
support throughout the course of this project.
I would also like to thank the faculty members of the Department of Computer Science &
Engineering at Raffles University for their cooperation and support.
Manish Kumar
ABSTRACT
The RealTimeWeather Android application provides users with current weather
information based on their location. It retrieves real-time data using the
OpenWeatherMap API and presents it in a user-friendly interface. Built using Kotlin and
the MVVM architecture, this project demonstrates effective use of networking,
permissions, and data binding in Android development.
Table of Contents
1. Introduction
1.1 Overview
1.2 Objectives
1.3 Scope of the Project
2. System Design
2.1 System Architecture
2.2 UML Diagrams
2.2.1 Use Case Diagram
2.2.2 Class Diagram
2.2.3 Activity Diagram
3. Technology Stack
3.1 Android Studio
3.2 Kotlin
3.3 RESTful APIs
3.4 OpenWeatherMap API
4. Implementation
4.1 Application Modules
4.2 Code Snippets
4.3 GitHub Repository Overview
6. Testing
6.1 Testing Strategies
6.2 Test Cases
6.3 Results
8. Future Enhancements
9. Conclusion
1. INTRODUCTION
1.1 Overview
Discuss what the project is about. Explain the need for weather apps, their usage in daily
life, and how your app addresses this need.
1.2 Objectives
Define the limitations, e.g., only current weather, no historical data, or support limited to
Android devices.
2. System Design
• 2.2.1 Use Case Diagram: Shows the interaction between the user and the app—
like entering a city name, fetching weather, displaying data.
• 2.2.2 Class Diagram: Represents the different classes used (e.g., MainActivity,
WeatherService, WeatherDataModel) and their relationships.
The development environment used to build, test, and deploy the Android application.
3.2 Kotlin
The primary language for development. Briefly mention benefits like null safety, concise
syntax, and full Android support.
Explain how REST is used to send requests and receive JSON weather data. Cover HTTP
methods (like GET) and endpoints.
A third-party API used to retrieve weather data based on city name or GPS coordinates.
Mention API key usage and sample endpoints.
4. Implementation
In this subsection, you explain how your app is organized into different logical
components or layers.
a) UI Layer
• MainActivity.kt or WeatherActivity.kt
activity_main.xml
This file defines the structure of your main screen using views like:
• Handles click listeners, input fields (e.g., for city name), and updates views with
weather info
The activity file (MainActivity.kt) links to the layout file and uses either:
Contains data classes that map to the JSON response from the API.
4.2 Code Snippets
This subsection gives a walkthrough of the key functional code with explanations.
Include only relevant and concise code blocks. For example:
WeatherApiService.kt:
5. User Interface Design
5.1 UI Screenshots
Description:
Testing is crucial to ensure your app works reliably in real-world scenarios. It includes
planned test cases, user behavior simulation, and error handling.
You likely used manual testing, which means running the app on an emulator or real
device to verify different user actions like:
• Mark it Pass/Fail
6.3 Results
• App functioned well under different network and user input conditions.
This section presents how well your app performed and what can be inferred from the
testing phase.
• Speed: Data fetching from OpenWeatherMap API was fast (within 2–3 seconds).
• Accuracy: The weather information matched real-world data from other sources.
• Compatibility: The app worked well on various Android devices and screen
sizes.
7.2 Limitations
Even though the app works well, every project has its limits:
These are features or improvements you plan or suggest to add in future versions of the
app:
• Weather Alerts/Notifications
Push alerts for extreme weather conditions using background services.
• Voice Search
Let users speak the city name instead of typing.
• Widget Support
Add a home screen widget to show current temperature.
• Weekly or Hourly Forecasts
Add support for upcoming weather trends using extended API features.
• Offline Mode
Cache the last successful weather response for offline display.
• Multi-Language Support
9.Conclusion
• The project successfully delivered a fully functional weather app using Kotlin
and OpenWeatherMap API.
• It met its key goals: fetching real-time weather, displaying it in a clean UI, and
handling basic user interactions.
o UI/UX design
• While there are still areas to enhance, the app serves as a solid foundation for
future weather-based features.