A modern, real-time collaborative task management app for Android
Features β’ Tech Stack β’ Getting Started β’ Architecture β’ Contributing
The welcoming login screen is the first thing users see when opening the app. It features a clean, modern design with the app's motto "Collaborate. Track. Achieve." Users can quickly sign in using their Google account with a single tap, providing secure OAuth 2.0 authentication without password management.
The main dashboard is your command center! It displays:
- Welcome message personalized with your name
- Team name and code for easy sharing with teammates
- Real-time statistics showing Total Tasks, In Progress, and Completed count
- Task filter tabs (All, To Do, In Progress, Done) for quick navigation
- Active task list with priority indicators (High/Medium/Low), assignees, and due dates
- Bottom navigation to quickly switch between Tasks, Team Members, and Profile
All updates are real-time thanks to Firebaseβwhen a teammate marks a task done, you see it instantly!
Adding new tasks is simple and intuitive! The Create Task form includes:
- Task Title - Give your task a clear name
- Description - Add detailed information about what needs to be done
- Priority Levels - Choose between High (Red), Medium (Yellow), or Low (Green)
- Due Date Picker - Set deadlines to keep the team on track
- Assign To - Delegate tasks to specific team members
- Create Task Button - One-tap to instantly sync with the entire team
The colorful priority indicators make it easy to spot urgent tasks at a glance!
The Team Members screen shows everyone in your team with:
- Team name and unique code at the top for easy reference
- Shareable team code with a copy button to invite new members
- Member list with circular profile pictures (pulled from Google accounts)
- Member roles - Clear indication of who's an Admin vs regular Member
- Email addresses displayed for easy contact
This is the place to manage your team, see who's on board, and share your team code with new collaborators. No complicated invitationsβjust share the code!
The Profile screen helps you manage your account and teams:
- User profile card with circular avatar (from Google account), name, and email
- My Teams section listing all teams you're part of with their team codes
- Active team indicator to show which team you're currently working with
- Create Team button - Start a new team for a different project
- Join Team button - Enter a code to join an existing team
- Leave Team option - Exit teams you're no longer part of
- Sign Out button - Securely log out from your account
Perfect for switching between multiple teams and managing your account settings!
The Task Details screen gives you a complete view of any task with all the important information:
- Task title at the top with a back button for easy navigation
- Priority badge (Low/Medium/High) with color coding (Green/Yellow/Red)
- Current status showing the task's current stage
- Task metadata card displaying:
- Assigned To - Who is responsible for this task
- Due Date - When the task needs to be completed
- Created By - Who created the task
- Full description of what needs to be done
- Quick status change buttons with three options:
- To Do (Gray) - Task not started
- In Progress (Yellow) - Task is being worked on
- Done (Green) - Task completed
One-tap status updates instantly notify all team members about progress!
Team Task Tracker is a beautifully designed Android application that enables teams to collaborate seamlessly on task management. Whether you're working on a project with your team or managing daily tasks, this app provides real-time synchronization and an intuitive interface to keep everyone on the same page.
With Firebase Realtime Database, all team members see task updates instantly across all devicesβno refreshing required! π
- Google Sign-In Integration - Secure, passwordless authentication using OAuth 2.0
- Profile Management - Automatic profile sync with Google accounts (Name, Email, Profile Picture)
- Create or Join Teams - Start a new team or join existing ones using unique 6-digit team codes
- Team Members View - See all team members with their profile pictures and information
- Multi-Tenant Architecture - Complete data isolation between teams for privacy and security
- Real-Time Task Updates - All changes sync instantly across all connected devices
- Priority Levels - Organize tasks by High, Medium, and Low priority
- Task Status Tracking - Multiple status options to track task progress
- Dashboard Overview - Quick view of project statistics and active tasks
- Material Design UI - Modern, intuitive interface following Google's Material Design guidelines
- Responsive Layout - Optimized for all Android devices (API 24+)
- Efficient RecyclerView - Smooth scrolling through tasks with optimized view recycling
- Profile Picture Loading - Fast, cached image loading using Glide library
- Android (Java) - Native Android development
- Material Design Components - Modern UI library
- RecyclerView - Efficient list rendering
- CircleImageView - Circular profile pictures
- Glide - Image loading and caching
- Firebase Authentication - Secure user authentication with OAuth 2.0
- Firebase Realtime Database - Real-time data synchronization
- Google Sign-In SDK - Google account integration
- Event-Driven Programming - ValueEventListeners for real-time updates
- NoSQL Database - Hierarchical JSON-like data structure
- Asynchronous Processing - Background thread handling for I/O operations
- Explicit Intents - Component communication between Activities
- SharedPreferences - Local persistent storage for team codes
- Android Studio (Arctic Fox or newer)
- Android SDK 34
- Java 17 or higher
- Firebase project setup
- Clone the repository
git clone https://github.com/rishabharaj/Team-task-tracker.git
cd Team-task-tracker-
Set up Firebase
- Go to Firebase Console
- Create a new project
- Enable Firebase Authentication (Google Sign-In)
- Enable Firebase Realtime Database
- Download
google-services.jsonand place it in theapp/directory
-
Configure Google Sign-In
- Get your SHA-1 certificate fingerprint:
./gradlew signingReport
- Add this to your Firebase project settings
-
Build and Run
- Open the project in Android Studio
- Build the project:
Ctrl + F9(orCmd + F9on Mac) - Run on emulator or device:
Shift + F10
βββββββββββββββββββ
β App Launch β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββββββ
β Check User Session β
β (FirebaseAuth) β
ββββββββββ¬βββββββββββββ
β
ββββββββ΄βββββββ
β β
βΌ βΌ
[Login] βββββββΆ [Team Selection]
β
βββββββββ΄ββββββββ
β β
βΌ βΌ
[Create Team] [Join Team]
β β
βββββββββ¬ββββββββ
βΌ
[Dashboard Hub]
β
ββββββββββββββΌβββββββββββββ
β β β
βΌ βΌ βΌ
[View Tasks] [Create Task] [Team Members]
/teams
/{teamCode}
/members
/{userId}
- name
- email
- photoUrl
/tasks
/{taskId}
- title
- description
- priority (High/Medium/Low)
- status
- assignedTo
- createdBy
- createdAt
| Activity | Purpose |
|---|---|
LoginActivity |
Google Sign-In entry point |
CreateTeamActivity |
Team creation/joining |
DashboardActivity |
Main hub with task overview |
CreateTaskActivity |
Add new tasks |
TeamMembersActivity |
View team members |
- Cloud-Based Authentication (OAuth 2.0) - Secure, delegated authentication
- NoSQL Realtime Database - JSON-like hierarchical data storage
- Event-Driven Programming - ValueEventListeners for reactive updates
- ViewHolder Pattern - Memory-efficient RecyclerView implementation
- Multi-Tenant Architecture - Data isolation between teams
- Asynchronous Image Loading - Background thread image fetching with caching
Updates to tasks are instantly reflected across all connected devices thanks to Firebase Realtime Database WebSocket connections.
- Each team gets a unique 6-digit code
- Share the code with teammates to invite them
- No complicated authentication flowsβjust share and join!
- Integrated with Google accounts
- Fast loading with Glide caching
- Circular profile images for a modern look
- Some data is cached locally in SharedPreferences
- Once connected, Firebase automatically syncs changes
- β OAuth 2.0 authentication (no password storage)
- β Firebase security rules enforce team data isolation
- β HTTPS-only communication with Firebase
- β Secure token management
- Min SDK: 24 (Android 7.0)
- Target SDK: 34 (Android 14)
- Compile SDK: 34
- Java: JDK 17
// Android & Material
androidx.appcompat:appcompat:1.6.1
com.google.android.material:material:1.11.0
androidx.constraintlayout:constraintlayout:2.1.4
// Firebase
com.google.firebase:firebase-auth
com.google.firebase:firebase-database
// Google Sign-In
com.google.android.gms:play-services-auth:20.7.0
// Image Loading
com.github.bumptech.glide:glide:4.16.0
// UI Components
de.hdodenhof:circleimageview:3.1.0We'd love your contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Java coding conventions
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation as needed
This project demonstrates:
- β Modern Android development with Java
- β Firebase integration (Auth & Realtime Database)
- β Material Design implementation
- β RecyclerView with custom adapters
- β Real-time data synchronization
- β Event-driven architecture
- β Multi-tenant application design
Perfect for learning Android development best practices!
Found a bug? Have a suggestion? Open an issue on GitHub!
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by Rishabharaj
GitHub: @rishabharaj and @kanishka