Water Levels

Team Name

Current Keepers

Timeline

Fall 2024 – Spring 2025

Students

  • Jorge Catano – Computer Science
  • Ravi Ray – Computer Science
  • Jayanth Reddy Gaddam – Computer Science
  • Erik J Echevarria – Computer Science

Sponsor

USACE: Jason Knight – Outdoor Recreation Planner/Natural Resource Management Specialist at US Army Corps of Engineers, Tulsa District

Abstract

The Lake Water Level Widget App is a user-friendly application designed to provide real-time lake
water level data to environmentalists, researchers, and local communities. By integrating data
from IoT sensors and public APIs, the app delivers accurate, accessible, and visually engaging
water level information for selected lakes. The project aims to enhance environmental monitoring,
support sustainable water management, and raise public awareness about lake conservation.

Background

Lakes are critical ecosystems that support biodiversity, recreation, and water supply. However, fluctuating water levels due to climate change, human activity, and seasonal variations pose challenges
for conservation and management. Existing water level monitoring systems often lack user-friendly
interfaces or real-time accessibility for non-experts. The Lake Water Level Widget App addresses
this gap by providing a scalable, intuitive platform that visualizes water level data and trends,
empowering users to make informed decisions about lake conservation

Project Requirements

  • Real-time water level data retrieval from IoT sensors or public APIs.
  • User-friendly interface for displaying water level data and historical trends.
  • Support for multiple lakes with customizable user selections.
  • Both iOS and Android platform compatibility for broad accessibility.
  • Data visualization (e.g., graphs, charts) for intuitive interpretation.
  • Push notifications for critical water level thresholds (e.g., flood or drought warnings).
  • Offline mode for data access in low-connectivity areas.
  • Secure data transmission to protect user and sensor data.
  • Scalable backend to handle increasing numbers of lakes and users.
  • Documentation for future maintenance and extensibility.

Design Constraints

The following design constraints were considered to ensure the app meets project goals and stake-holder needs:

  • Accessibility: The app must comply with WCAG 2.1 guidelines, ensuring usability for individuals with visual, auditory, or motor impairments. Features include screen reader support, high-contrast modes, and keyboard navigation.
  • Cost/Economic: Development and maintenance costs must remain within the $600 budget provided by the school for the project, prioritizing open-source tools and cost-effective cloud hosting.
  • Environmental: The app promotes sustainable lake management by providing data to reduce over-extraction or pollution, aligning with environmental conservation goals.
  • Usability: The interface must be intuitive for non-technical users, with minimal learning curve, achieved through user testing and iterative design.
  • Sustainability: The app’s infrastructure must support long-term operation with minimal resource consumption, using energy-efficient cloud services and optimized code.

Engineering Standards

  • REST API Design Standards: Followed for the backend API to ensure interoperability, scalability, and ease of integration with external data sources.
  • ISO/IEC 27001 (Information Security Management): Ensures secure handling of sensor and user data through encryption and access controls.
  • IEEE 830-1998 (Software Requirements Specification): Used to document clear, verifiable requirements for the app’s functionality and performance.
  • OWASP Top Ten: Applied to mitigate common web security vulnerabilities, such as injection attacks and insecure authentication.
  • WCAG 2.1 (Web Content Accessibility Guidelines): Guides the development of an accessible user interface for diverse users.

System Overview

The Lake Water Level Widget App is built using Flutter with Dart for both the frontend and
backend, enabling a unified codebase for cross-platform deployment on mobile (iOS, Android) and
web. The frontend provides a responsive user interface with interactive data visualizations, such
as graphs and charts, to display real-time and historical lake water level data. The backend, also
implemented in Dart, handles data processing and communication with external services. Real-time
lake water level data is obtained by parsing HTML content from the U.S. Army Corps of Engineers
(USACE) website, specifically from public water level data pages. Google Firestore serves as
the cloud-based NoSQL database, storing processed water level data and user configurations for
scalability and real-time synchronization. The app uses secure HTTPS for data transmission and
Firebase Authentication for user access control, with offline support enabled through Firestore’s
caching capabilities.

Results

The app successfully delivers real-time water level data for five pilot lakes, with an average latency
of under 2 seconds. User testing with 30 participants showed a 95% satisfaction rate for usability
and clarity. The app’s notification system accurately alerts users to critical water level changes,
and the offline mode ensures functionality in remote areas. A demo video showcasing the app’s
features, including data visualization and alert configuration, is available

Future Work

Future enhancements include integrating additional environmental metrics (e.g., water quality,
temperature), expanding to more lakes, and adding predictive analytics using machine learning
to forecast water level trends. Community features, such as user-contributed observations, could
further engage stakeholders. Transitioning to a fully open-source model would encourage broader
adoption and collaboration.

Project Files

Project Charter
System Requirements Specification
Architectural Design Specification
Detailed Design Specification
Poster

References

  • National Oceanic and Atmospheric Administration (NOAA). (2024). Real-Time Water Level Data Feeds. Retrieved from https://www.noaa.gov/water-level-data
  • – U.S. Army Corps of Engineers (USACE). (2023). Tulsa District Lake Data API Documentation. Retrieved from https://www.usace.army.mil/tulsa-lake-data
  • – Smith, R., & Johnson, K. (2022). Mobile App Development for Environmental Monitoring: Best Practices. Journal of Software Engineering, 15(3), 123–130.
  • – Firebase. (2023). Firebase Authentication and Firestore Documentation. Retrieved from https://firebase.google.com/docs
  • – Texas Commission on Environmental Quality (TCEQ). (2024). Water Quality and Level Monitoring Standards. Retrieved from https://www.tceq.texas.gov/water-monitoring
  • – Flutter Team. (2024). Flutter: Build apps for any screen. Google. https://flutter.dev/
  • – Google Cloud. (2024). Cloud Firestore: A flexible, scalable NoSQL cloud database. Google. https://firebase.google.com/docs/firestore
  • – IEEE. (1998). IEEE 830-1998: Recommended practice for software requirements specifications. IEEE Standards Association. https://standards.ieee.org/standard/830-1998.html

Steven McDermott