VolunteerTracker is an Android application designed to help organizations manage events, coordinate volunteers, track service hours, and verify completed volunteer work.
The application was originally developed as a group project for COMP 4200 โ Mobile Application Development at the University of Windsor, with the broader goal of evolving into a multi-organization volunteer-management platform.
VolunteerTracker connects volunteers and organization administrators through a structured volunteer-hour workflow.
Volunteers can:
- create an account and sign in,
- join or select organizations,
- discover scheduled events and tasks,
- track volunteer time,
- view previously submitted hours,
- set volunteer-hour goals, and
- monitor progress toward those goals.
Administrators can:
- manage organizations,
- create events,
- create volunteer tasks,
- review submitted volunteer logs,
- approve or reject volunteer hours, and
- monitor volunteer participation.
Users can register as either:
- Volunteer
- Administrator
The application directs users to functionality appropriate for their role.
Administrators can create and manage organizations, while users can select the organization they are currently participating in.
This structure was designed with future multi-organization and multi-city support in mind.
Administrators can create:
- volunteer events,
- event dates and times,
- organization-specific activities, and
- individual volunteer tasks.
Volunteers can browse scheduled opportunities and select the task they want to complete.
The app includes a check-in / check-out workflow for recording volunteer service.
When a volunteer checks in:
- the timer begins tracking the session,
- the application updates the displayed time every second,
- the volunteer checks out when finished,
- the elapsed time is converted into volunteer hours, and
- a new volunteer log is created with a
Pendingstatus.
Submitted volunteer hours are not immediately treated as verified.
Instead:
Volunteer Completes Task
โ
Checks Out
โ
Volunteer Log Created
โ
Status: Pending
โ
Administrator Review
โ โ
Approve Reject
โ
Verified Volunteer Hours
Approved hours are added to the volunteer's progress and history.
Volunteers can set a target number of service hours and monitor their approved hours through the dashboard.
Volunteers can view previous service sessions and track their volunteer activity over time.
The administrator dashboard provides quick access to organization, event, task, and volunteer-log management.
Users can select the organization they are currently volunteering with or administering.
Administrators can create events and tasks for volunteers.
Volunteers can check in, track their service time, check out, and submit their hours for administrator approval.
User
โ
โผ
Authentication
โ
โโโโโโโโโโดโโโโโโโโโ
โผ โผ
Volunteer Admin
โ โ
โผ โโโ Create Organization
Select Organization โโโ Create Event
โ โโโ Create Task
โผ โโโ Review Volunteer Logs
Browse Events โ
โ โ
โผ โ
Select Task โ
โ โ
โผ โ
Check In โ
โ โ
โผ โ
Track Time โ
โ โ
โผ โ
Check Out โ
โ โ
โผ โ
Pending Hour Log โโโโโโโโโโโโโโโโโโโ
โ
โผ
Admin Review
โ โ
Approved Rejected
โ
โผ
Volunteer History
+ Progress Update
| Area | Technology |
|---|---|
| Platform | Android |
| Language | Java |
| UI | XML Layouts |
| Database | SQLite |
| Session State | SharedPreferences |
| Lists / Calendars | RecyclerView |
| UI Components | CardView |
| Build System | Gradle |
| Development Environment | Android Studio |
VolunteerTracker uses SQLite for local persistent storage.
The database stores information such as:
- user accounts,
- organizations,
- events,
- tasks,
- volunteer logs,
- approval status, and
- volunteer-hour information.
Because the data is stored locally, information remains available after the application is closed and reopened.
SharedPreferences is used for lightweight session state, including information such as the currently logged-in user and selected organization.
The application verifies user credentials and determines whether the user should enter the volunteer or administrator workflow.
Displays:
- volunteer-hour goals,
- approved hours,
- progress information,
- navigation to events,
- volunteer logs, and
- profile information.
The calendar interface displays scheduled events and allows volunteers to browse opportunities by date.
The volunteer timer uses an Android Handler to update the displayed time during an active volunteer session.
When the volunteer checks out, the elapsed time is calculated and converted into volunteer hours.
Administrators review pending volunteer logs before those hours are treated as verified service.
VolunteerTracker/
โโโ app/
โ โโโ src/
โ โโโ main/
โ โโโ java/
โ โ โโโ ...
โ โ โโโ main_activity.java
โ โ โโโ home_activity.java
โ โ โโโ date_activity.java
โ โ โโโ choose_event.java
โ โ โโโ logs_activity.java
โ โ โโโ vlog_activity.java
โ โ โโโ database_helper.java
โ โ โโโ repositories/
โ โ โโโ adapters/
โ โ
โ โโโ res/
โ โโโ layout/
โ โโโ XML layouts
โ
โโโ build.gradle.kts
โโโ settings.gradle.kts
โโโ README.md
The exact package structure may vary slightly from the simplified diagram above.
- Android Studio
- Android SDK
- Java-compatible Android development environment
- Android emulator or physical Android device
- Clone the repository:
git clone https://github.com/Hadiyahh/VolunteerTracker.git-
Open the project in Android Studio.
-
Allow Gradle to synchronize project dependencies.
-
Select an Android emulator or connected device.
-
Run the application.
VolunteerTracker was originally developed as the final group project for:
COMP 4200 โ Mobile Application Development
School of Computer Science
University of Windsor
March 2026
The course version focused on demonstrating Android development concepts including:
- Java application logic,
- XML interfaces,
- SQLite persistence,
- role-based application flows,
- RecyclerView components,
- session management,
- event management, and
- volunteer-hour tracking.
The longer-term concept is to evolve VolunteerTracker beyond local SQLite storage into a centralized volunteer-management system capable of supporting multiple organizations and cities.
The current repository represents the academic prototype.
Potential future development includes:
- Cloud-hosted backend and centralized database
- Multi-city and multi-chapter support
- Secure server-side authentication
- Role-based access control
- Organization-wide administrator dashboards
- Centralized volunteer profiles
- Improved event and task management
- Volunteer-hour reporting and exports
- Push notifications
- QR-code event check-in
- Persistent synchronization across devices
- Production deployment
VolunteerTracker is an academic prototype and is not currently deployed as a production volunteer-management service.
The existing application demonstrates the core Android workflow and local persistence model. Future versions may expand the project into a centralized system for real organizational use.