Productivity Pal 🐾
An iOS productivity app that makes task management engaging through gamification, social features, and a companion pet system.
Features
Task Management Create tasks with names, descriptions, due dates, and categories Set repeating tasks by specific days of the week or date ranges Dashboard view organized by priority, overdue, and upcoming tasks
Gamification Weekly XP system with progress tracking and configurable goals Levels and streaks to reward consistent productivity Choose a companion animal "pal" that grows with your progress
Social Send, accept, and cancel friend requests View friends' profiles and compare progress Real-time updates powered by Firestore
Completed Tasks Filter completed tasks by week, month, 6 months, year, or all time Category breakdown with visual stats Photo dump: attach camera photos with GPS location tagging to completed tasks
Tech Stack Language: Swift UI: UIKit (programmatic, no storyboards) Architecture: MVC with singleton service managers Backend: Firebase Authentication, Cloud Firestore Device APIs: CoreLocation, Camera (AVFoundation)
Project Structure FinalProject/ ├── AuthManager.swift # Firebase Auth + user profile management ├── FriendsManager.swift # Friend requests and friendship status ├── DashboardViewController.swift ├── NewTaskViewController.swift ├── CompletedViewController.swift ├── ProductivityPalViewController.swift ├── FriendsViewController.swift ├── ProfileViewController.swift ├── PalSelectionViewController.swift ├── LoginViewController.swift ├── SignupViewController.swift └── HelpViewController.swift
Getting Started: Clone the repo Open FinalProject.xcodeproj in Xcode Add your own GoogleService-Info.plist from Firebase Console Build and run on a simulator or device (iOS 15+)
Madiha Ahmed · madiha-ahmed.vercel.app · GitHub