Develop a Weather Monitor app for Android
Budget: $30 – $250 USD
Weather Monitoring App
Requirements
• Compile Android app in Embarcadero RAD Studio Community license software (current version: Embarcadero Delphi® XE5 Version 19) for Android 12 or newer.
• Deliver all source code required to compile app for Android
• App must successfully compile on my installation of Embarcadero RAD Studio Community license software.
• No custom code is permitted, all source code must use only standard Embarcadero built in libraries, procedures, objects, etc for support of camera images, URL download from Windy.com, Google maps, distance calculations, etc.
Functionality
A. Display Android device sensor values on pages 1,2,3 described in Section C below. If values are not supported by device then display "n/a" instead of available value. Display following values on Screens 1,2,3:
i. Compass direction from device magnetometer (Example: 178°)
ii. Type of device (Example: Samsung Galaxy S22 Ultra)
iii. Version of Android (Example: Android v13.2)
B. Weather info for both Current Location and Alternate Location is downloaded when app is started and then hourly using Windy.com API with documentation at https://api.windy.com/point-fgorecast/docs. Use free trial with less than 500 calls per day. Current location is based on GPS Latitude and Longitude of device. Display following weather values on Screens 1,2,3:
i. temp [Air temperature] (Example: 89°F)
ii. wind_u [wind speed speed] (Example: SE [for South East])
iii. wind_v [wind direction] (Example: 12 mph)
C. 5 screens are displayed by this app as labeled in .PPT and described below:
i. Screen #1 "Current Location"
a. Display device's camera real time image (or USB camera image if USB camera is connected to device)
b. Display Device date and time (Example: Date: 10/11/2023 Time: 17:29)
c. Display Latitude and Longitude for Current location (Example: Lat:30.397, Lon=-88.890)
d. Display weather info from Windy.com [listed in Section B above] (Example: 89°F
Wind SE 12 mph)
ii. Screen #2 "Alternate Location"
a. Display Web Cam camera real time image
b. Display alternate location's Latitude and Longitude (Example: Lat:32.133, Lon:-81.090)
c. Display weather info from Windy.com [listed in Section B above] (Example: 89°F
Wind SE 4 mph).
d. Calculate and display distance between Current Location and Alternate Location (Example: Distance from Primary Location: 559.8 miles)
iii. Screen #3 "Split screen view" of both device's camera (or USB camera) real time image with current location weather info (listed in Section B above) on left side of device and Alternate location's web camera real time image with alternate location's current weather info (listed in Section B above) on right side of display with the corresponding location, weather, and distance information.
iv. Screen #4 "Google map" page displays pins for both local and alternate location with pins on Google Maps. The travel route and time to travel is not required, but is displayed from a screen capture. The names of the locations are not required on the google map, but the pin must be displayed on the google map.
v. Screen #5 "Configuration" screen with following options for user to specify:
a. Select alternative location using Google maps or by manually entering latitude and longitude. Allow user to change name of alternate location name but default to "Alternate location". Let use enter URL of web cam
b. Let use select units of measurement (km, miles, Celsius, etc)
c. Let user select the type of Font to display text in app
d. Let user select the Font color
Additional notes
• If USB camera is connected to device then display USB camera feed instead of device camera image.
• App must display properly in both Portrait and Landscape orientation.
• If no alternate location is specified by user, display a blank screen
• Swipe up and Swipe down to change between screens, as well as Page up and Page down keyboard keys to change between screens, as well as left and right icons to change screens
Requirements
• Compile Android app in Embarcadero RAD Studio Community license software (current version: Embarcadero Delphi® XE5 Version 19) for Android 12 or newer.
• Deliver all source code required to compile app for Android
• App must successfully compile on my installation of Embarcadero RAD Studio Community license software.
• No custom code is permitted, all source code must use only standard Embarcadero built in libraries, procedures, objects, etc for support of camera images, URL download from Windy.com, Google maps, distance calculations, etc.
Functionality
A. Display Android device sensor values on pages 1,2,3 described in Section C below. If values are not supported by device then display "n/a" instead of available value. Display following values on Screens 1,2,3:
i. Compass direction from device magnetometer (Example: 178°)
ii. Type of device (Example: Samsung Galaxy S22 Ultra)
iii. Version of Android (Example: Android v13.2)
B. Weather info for both Current Location and Alternate Location is downloaded when app is started and then hourly using Windy.com API with documentation at https://api.windy.com/point-fgorecast/docs. Use free trial with less than 500 calls per day. Current location is based on GPS Latitude and Longitude of device. Display following weather values on Screens 1,2,3:
i. temp [Air temperature] (Example: 89°F)
ii. wind_u [wind speed speed] (Example: SE [for South East])
iii. wind_v [wind direction] (Example: 12 mph)
C. 5 screens are displayed by this app as labeled in .PPT and described below:
i. Screen #1 "Current Location"
a. Display device's camera real time image (or USB camera image if USB camera is connected to device)
b. Display Device date and time (Example: Date: 10/11/2023 Time: 17:29)
c. Display Latitude and Longitude for Current location (Example: Lat:30.397, Lon=-88.890)
d. Display weather info from Windy.com [listed in Section B above] (Example: 89°F
Wind SE 12 mph)
ii. Screen #2 "Alternate Location"
a. Display Web Cam camera real time image
b. Display alternate location's Latitude and Longitude (Example: Lat:32.133, Lon:-81.090)
c. Display weather info from Windy.com [listed in Section B above] (Example: 89°F
Wind SE 4 mph).
d. Calculate and display distance between Current Location and Alternate Location (Example: Distance from Primary Location: 559.8 miles)
iii. Screen #3 "Split screen view" of both device's camera (or USB camera) real time image with current location weather info (listed in Section B above) on left side of device and Alternate location's web camera real time image with alternate location's current weather info (listed in Section B above) on right side of display with the corresponding location, weather, and distance information.
iv. Screen #4 "Google map" page displays pins for both local and alternate location with pins on Google Maps. The travel route and time to travel is not required, but is displayed from a screen capture. The names of the locations are not required on the google map, but the pin must be displayed on the google map.
v. Screen #5 "Configuration" screen with following options for user to specify:
a. Select alternative location using Google maps or by manually entering latitude and longitude. Allow user to change name of alternate location name but default to "Alternate location". Let use enter URL of web cam
b. Let use select units of measurement (km, miles, Celsius, etc)
c. Let user select the type of Font to display text in app
d. Let user select the Font color
Additional notes
• If USB camera is connected to device then display USB camera feed instead of device camera image.
• App must display properly in both Portrait and Landscape orientation.
• If no alternate location is specified by user, display a blank screen
• Swipe up and Swipe down to change between screens, as well as Page up and Page down keyboard keys to change between screens, as well as left and right icons to change screens