A modern, intuitive task management application built with React Native and Expo
Maritask is a mobile-first task management app designed to help you organize your daily tasks, manage priorities, and stay productive. Built with React Native, Expo, and TypeScript, it offers a clean, Material Design 3.0 interface with powerful features for personal task management.
- Task Management - Create, edit, complete, and delete tasks with rich metadata
- Smart Organization - Organize tasks by categories with custom colors and icons
- Calendar Views - Visualize your tasks in day, week, and month views
- Priority System - Set task priorities (Low, Medium, High, Urgent)
- Due Dates & Times - Schedule tasks with specific dates and times
- Task Status - Track progress with multiple status states (Todo, In Progress, Completed, Archived)
- Smart Lists - Pre-built filtered views (Today, Upcoming, Overdue, High Priority)
- Search & Filters - Full-text search and advanced filtering capabilities
- Local Notifications - Automatic reminders (5min and 3min before due time)
- Recurring Tasks - Support for repeating tasks with flexible patterns
- Subtasks - Break down complex tasks into manageable subtasks
- Dark Mode - System-aware theme switching with manual override
- Offline-First - All data stored locally in SQLite, no internet required
- Multi-language - Support for English and Spanish
- Material Design 3.0 - Clean, modern interface following Google's design principles
- Smooth Animations - Powered by React Native Reanimated
- Gesture Support - Swipe actions for quick task management
- React Native 0.81.4
- React 19.1.0
- Expo ~54.0.12
- Expo Router ~6.0.10 (file-based routing)
- TypeScript ~5.9.2 (strict mode)
- React Native Paper 5.14.5 (Material Design 3.0)
- React Native Reanimated ~4.1.1
- React Native Gesture Handler ~2.28.0
- Expo Symbols ~1.0.7 (SF Symbols for iOS)
- Zustand 5.0.8 (global state management)
- Expo SQLite ~16.0.8 (local database)
- AsyncStorage 2.2.0 (settings/theme persistence)
- Expo SecureStore ~15.0.7 (sensitive data)
- React Hook Form 7.64.0
- Zod 3.25.76
- i18next 25.6.0
- react-i18next 16.0.0
- expo-localization ~17.0.7
- React Native Calendars 1.1313.0
- date-fns 4.1.0
- Expo Notifications ~0.32.12
- Expo Task Manager ~14.0.7
- Node.js 18+ and npm
- Expo CLI (
npm install -g expo-cli) - EAS CLI (
npm install -g eas-cli) for building - Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
-
Clone the repository
git clone <repository-url> cd maritask
-
Install dependencies
npm install
-
Start the development server
npm start
-
Run on your device
- Scan the QR code with Expo Go (Android) or Camera app (iOS)
- Or press
afor Android emulator,ifor iOS simulator
eas build --platform all --profile developmenteas build --platform android --profile preview
eas build --platform ios --profile previeweas build --platform all --profile productionmaritask/
βββ app/ # Expo Router screens (file-based routing)
β βββ (tabs)/ # Tab navigation group
β β βββ index.tsx # Today screen (home)
β β βββ calendar.tsx # Calendar views
β β βββ categories.tsx # Category management
β β βββ settings.tsx # App settings
β βββ task/ # Task-related screens
β β βββ create.tsx # Create new task
β β βββ edit/[id].tsx # Edit task
β βββ category/ # Category screens
β
βββ src/ # Source code
β βββ components/ # React components
β β βββ ui/ # Base UI components
β β βββ tasks/ # Task-specific components
β β βββ calendar/ # Calendar components
β β βββ categories/ # Category components
β β
β βββ services/ # Business logic
β β βββ database/ # SQLite operations
β β βββ notifications/ # Notification services
β β βββ storage/ # AsyncStorage wrappers
β β
β βββ store/ # Zustand state management
β β βββ taskStore.ts # Task state & actions
β β βββ categoryStore.ts # Category state
β β βββ themeStore.ts # Theme state
β β
β βββ i18n/ # Internationalization
β β βββ locales/ # Translation files
β β βββ index.ts # i18n configuration
β β
β βββ types/ # TypeScript definitions
β βββ constants/ # Design system constants
β βββ hooks/ # Custom React hooks
β βββ utils/ # Utility functions
β
βββ assets/ # Static assets
β βββ images/ # App icons and images
β
βββ .kiro/ # Kiro AI configuration
- Primary: Blue (#2196F3)
- Light: #E3F2FD
- Background: #E6F4FE
- Success: Green (#4CAF50)
- Warning: Orange (#FF9800)
- Error: Red (#F44336)
- System fonts with fallbacks
- 8pt grid spacing system
- Material Design 3.0 elevation and shadows
# Start development server
npm start
# Run on specific platform
npm run android
npm run ios
npm run web
# Lint code
npm run lint
# Type checking
npx tsc --noEmit- ESLint for code linting
- Prettier for code formatting
- Husky for git hooks
- lint-staged for pre-commit checks
- TypeScript strict mode enabled
- Engine: SQLite (local)
- Schema: Version-controlled migrations
- Connection: Singleton pattern
- File:
maritask.db
- tasks - Main task data
- categories - Task categories
- notifications - Scheduled notifications
- settings - App settings
- migration_history - Schema version tracking
Currently supported languages:
- πΊπΈ English (en)
- πͺπΈ Spanish (es)
To add a new language:
- Create a new locale file in
src/i18n/locales/[lang]/common.json - Add translations following the existing structure
- Import and register in
src/i18n/index.ts
This project is private and proprietary.
Built with β€οΈ using React Native and Expo
- Expo - The framework that makes React Native development a joy
- React Native Paper - Beautiful Material Design components
- Zustand - Simple and powerful state management
- date-fns - Modern JavaScript date utility library
Note: This is a mobile-first application optimized for iOS 13+ and Android 6.0+ (API 23+)