Android Course Final Project: Indoor Air Quality Monitoring
Application
Project Overview:
The goal of this final project is to create a comprehensive Android application focused
on monitoring indoor air quality in real-time. With increasing awareness of the impact of
air pollution on health, this application aims to empower users to understand and
improve their indoor environments.
Your application will be responsible for collecting data from multiple cloud devices that
measure various air quality parameters like temperature, humidity, and levels of
pollutants like CO2 and particulate matter (PM2.5). This data will be visually presented to
the user through an intuitive interface and should offer both current readings and
historical trends. Moreover, the application should provide real-time alerts based on
custom or predefined thresholds of these parameters.
For the tech stack, you only use Java for Android development. If possible, include the
use of background services, notifications, and local databases. Cloud integration and
advanced data analytics algorithms are optional but will yield extra points.
Revised Grading Rubric:
1. Project Documentation (10 points)
Requirement Specification (3 points)
Design Document (3 points)
User Manual and Developer Guide (4 points)
2. User Interface and Experience (20 points)
Login and User Authentication (5 points)
Main Dashboard (5 points)
Data Visualization (5 points)
Settings and User Preferences (5 points)
3. Data Collection (20 points)
Sensor Interface (10 points)
Data Collection in Background (5 points)
Local Data Storage (5 points)
4. Data Analysis (20 points)
Real-Time Data Processing (10 points)
Historical Data Analysis (10 points)
5. Notification and Alerts (10 points)
Threshold-Based Alerts (5 points)
Timely Notifications (5 points)
6. Extra Features (Optional, up to 20 Bonus Points)
Integration with Cloud Storage (5 points)
Multi-language Support (5 points)
Adding new devices by QR code (5 points)
Sharing Data with Trusted Contacts (5 points)
7. Presentation and Demonstration (10 points)
Clarity and Coverage (5 points)
Demonstration and Q&A (5 points)
Feature Breakdown:
1. Project Documentation:
Requirement Specification: Summarize the project objectives, user
requirements, and functionalities.
Design Document: Include sketches or mock-ups of the UI and an
explanation of the software architecture.
User Manual and Developer Guide: A combined guide on how to use the
app and how the code is structured.
2. User Interface and Experience:
Login and User Authentication: Implement a secure login mechanism
(screen 1, 2, 3).
Main Dashboard: Show key metrics like current temperature, humidity,
and pollutant levels (screen 4).
Data Visualization: Include graphs or charts to display historical data
(screen 5).
Settings and User Preferences: Allow users to customize alert thresholds
and metric display (screen 6).
3. Data Collection:
Sensor Interface: The app must communicate with air quality sensors.
Data Collection in Background: Collect data even when the app is not
active.
Local Data Storage: Save the data locally for offline access.
4. Data Analysis:
Real-Time Data Processing: Provide real-time updates on air quality
parameters.
Historical Data Analysis: Include tools for analyzing past data trends.
5. Notification and Alerts:
Threshold-Based Alerts: Alerts when a certain parameter crosses a set
threshold.
Timely Notifications: Ensure alerts are generated and delivered promptly.
6. Extra Features:
Integration with Cloud Storage: Optional cloud storage for data backup
and multi-device access.
Multi-language Support: Translate the app into at least one language
other than English.
Adding new device by QR Code: Add the new device by scanning the
device QR code.
Sharing Data with Trusted Contacts: Allow users to share their air quality
data with friends or family through the app.
7. Presentation and Demonstration:
Clarity and Coverage: Make sure to cover all the implemented features
during the presentation.
Demonstration and Q&A: Demonstrate the app functionalities and
answer any questions from the audience.
Screen 1:
1 – language button – which is used to change application language.
2 – sign in – which is used to login via screen 3.
3 – sign up – this button is employed for registering a new user via screen 2.
4 – continue with google – login via google account.
5 – forgot password account button.
Screen 2:
1, 2, 3, 4 – numerous textviews for registration.
5 – sign up button.
6 – back button to homepage.
Screen 3:
1, 2: username and password texviews for login.
3 – sign in button.
4 – back button to homepage.
Screen 4:
1 – textview shows the name of the login user.
2 – the related information which is shown in the main dashboard.
3 – different tab in this main dashboard.
Screen 5:
1 – the metric which is used to plot the graph.
2, 3 – the range of time which is used to plot the graph.
4 – the button which is used to plot the graph.
Screen 6:
1 – back button, which is used to back to main dashboard.
2 – next button, which is used to set rules for other devices.
3 – save button, which is used to save the current setting rules.
4, 5 – different rules to alert users.