Skip to content

jonahr4/TaskApp-Mobile

Repository files navigation

TaskApp Icon

TaskApp

AI-Powered Task Manager for iOS
Built with React Native & Expo

Download on the App Store

Platform React Native Expo Firebase License


Screenshots


Features

Feature Description
AI Assistant Type tasks in plain English — AI creates them with smart dates, priorities, and descriptions.
Eisenhower Matrix Drag-and-drop prioritization into Do First, Schedule, Delegate, and Eliminate quadrants.
Calendar View Visual calendar with color-coded priority dots for every due date.
Smart Search Instantly find any task. Filter by active, completed, or keyword.
Home Screen Widgets Today Dashboard, Next Task, and AI Quick Action widgets.
Voice Input Speak your tasks — AI transcribes and creates them.
Cloud Sync Tasks sync to Firebase and are accessible from any device via the web app.
Groups Organize tasks by class, project, or area of life.
Smart Notifications Configurable reminders with custom scheduling.
Dark Mode Full dark mode support with automatic system detection.

100% free — no ads, no subscriptions, no in-app purchases.


Tech Stack

Layer Technology
Framework React Native with Expo (SDK 52)
Navigation Expo Router (file-based routing)
Backend Firebase (Firestore, Auth)
AI Azure OpenAI (GPT-4o)
Auth Google Sign-In via @react-native-google-signin
Widgets Native iOS WidgetKit (Swift)
Build EAS Build
Language TypeScript

Architecture

├── app/                    # Expo Router screens (file-based routing)
│   ├── (auth)/             # Auth screens (login)
│   ├── (tabs)/             # Main tab screens
│   │   ├── tasks.tsx       # Task list with groups and sorting
│   │   ├── matrix.tsx      # Eisenhower Matrix with drag-and-drop
│   │   ├── calendar.tsx    # Calendar view with task dots
│   │   ├── ai.tsx          # AI tab
│   │   ├── stats.tsx       # Analytics and statistics
│   │   └── settings.tsx    # App settings
│   └── _layout.tsx         # Root layout with auth guard
├── components/             # Reusable UI components
│   ├── AiFab.tsx           # AI Assistant floating action button & modal
│   ├── TaskModal.tsx       # Task creation/editing modal
│   ├── ScreenHeader.tsx    # Unified header component
│   └── ...
├── hooks/                  # Custom React hooks
│   ├── useAuth.tsx         # Firebase authentication
│   ├── useTasks.ts         # Task CRUD operations
│   ├── useTaskGroups.ts    # Task group management
│   └── useSync.ts          # Cloud sync logic
├── lib/                    # Shared utilities
│   ├── firestore.ts        # Firebase Firestore operations
│   ├── theme.ts            # Design tokens and color system
│   └── sharedStyles.ts     # Shared style definitions
├── ios/                    # Native iOS project
│   ├── TaskApp/            # Main app target
│   └── TaskAppWidgets/     # WidgetKit extension (Swift)
└── assets/                 # Images, fonts, and icons

Getting Started

Prerequisites

  • Node.js 18+
  • Expo CLI
  • Xcode 15+ (for iOS builds)
  • Firebase project with Firestore and Auth enabled

Setup

# Clone the repo
git clone https://github.com/jonahr4/TaskApp-Mobile.git
cd TaskApp-Mobile

# Install dependencies
npm install

# Create your .env file
cp .env.example .env
# Fill in your Firebase and Azure OpenAI credentials

# Start the dev server
npx expo start

# Run on iOS simulator
npx expo run:ios

Environment Variables

Variable Description
EXPO_PUBLIC_FIREBASE_API_KEY Firebase API key
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN Firebase auth domain
EXPO_PUBLIC_FIREBASE_PROJECT_ID Firebase project ID
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET Firebase storage bucket
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID Firebase messaging sender ID
EXPO_PUBLIC_FIREBASE_APP_ID Firebase app ID
EXPO_PUBLIC_AI_API_URL AI API endpoint URL
EXPO_PUBLIC_GOOGLE_IOS_CLIENT_ID Google Sign-In iOS client ID
EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID Google Sign-In web client ID

Web Version

TaskApp also has a companion web app built with Next.js, available at the-task-app.vercel.app. Tasks sync in real-time between mobile and web via Firebase.


License

MIT © Jonah Rothman

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages