A comprehensive React Native application combining powerful task management with offline video learning capabilities.
- ✅ Smart Task Creation - Create tasks with title, description, due date, and priority
- ✅ Advanced Filtering - Filter by status (all/completed/incomplete)
- ✅ Intelligent Sorting - Sort by due date or priority
- ✅ Status Management - Toggle task completion with smooth animations
- ✅ Calendar Integration - Timeline view with date-based organization
- ✅ Persistent Storage - Local storage with AsyncStorage
- ✅ Offline Support - Works without internet connection
- ✅ Video Discovery - Browse trending and popular educational videos
- ✅ Download Management - Download videos for offline viewing
- ✅ Progress Tracking - Real-time download progress with cancel option
- ✅ Storage Management - Monitor device storage and manage downloads
- ✅ Search & Filter - Find videos by title, author, or category
- ✅ Network Awareness - Intelligent online/offline behavior
- ✅ Video Player - Full-featured player with controls and fullscreen support
- ✅ Beautiful Animations - Smooth transitions and micro-interactions
- ✅ Modern Design - Clean, intuitive interface following design trends
- ✅ Dark/Light Themes - Adaptive color schemes
- ✅ Responsive Layout - Works on all screen sizes
- ✅ Accessibility - Screen reader support and proper contrast ratios
- Node.js 18+
- npm or yarn
- Expo CLI (
npm install -g @expo/cli) - Android Studio (for Android development)
- Xcode (for iOS development - macOS only)
-
Clone the repository
git clone https://github.com/gyroneuron/Tasque.git cd Tasque -
Install dependencies
npm install
-
Install iOS dependencies (macOS only)
cd ios && pod install && cd ..
-
Start the development server
# Start Expo development server npx expo start # Or run directly on platform npx expo run:android npx expo run:ios
- MVVM (Model-View-ViewModel) with Redux for state management
- Component-Based Architecture for reusable UI elements
- Custom Hooks for business logic separation
- Modular Design for scalability and maintainability
src/
├── app/ # Main app structure
│ ├── (tabs)/ # Tab-based navigation screens
│ │ ├── _layout.tsx # Tab layout configuration
│ │ ├── Dashboard.tsx # Main task dashboard
│ │ └── VideoScreen.tsx # Video library screen
│ ├── Tasks/ # Task management screens
│ │ ├── _layout.tsx # Task stack layout
│ │ ├── AddEditTaskScreen.tsx
│ │ └── TaskDetailsScreen.tsx
│ ├── _layout.tsx # Root layout
│ └── index.tsx # Welcome/onboarding screen
├── components/ # Reusable UI components
│ ├── LoadingSpinner.tsx # Loading component
│ ├── TaskCard.tsx # Task display component
│ ├── TaskForm.tsx # Task creation/edit form
│ ├── VideoEmptyState.tsx # Video empty state
│ ├── VideoHeader.tsx # Video screen header
│ ├── VideoItems.tsx # Video list components
│ └── VideoPlayer.tsx # Video player component
├── constants/ # App constants
├── hooks/ # Custom React hooks
│ └── useVideoApp.ts # Video functionality hook
├── services/ # API and external services
│ ├── api.ts # API client configuration
│ └── storage.ts # AsyncStorage helpers
├── store/ # Redux store configuration
│ ├── slices/ # Redux Toolkit slices
│ │ ├── taskSlice.ts # Task state management
│ │ ├── videoSlice.ts # Video state management
│ │ └── index.ts # Slice exports
│ └── index.ts # Store configuration
├── types/ # TypeScript type definitions
│ ├── index.ts # Common types
│ └── video.ts # Video-related types
└── utils/ # Utility functions
├── dateUtils.ts # Date formatting utilities
└── Responsive.ts # Screen scaling utilities
- Centralized State - All app state managed through Redux
- Slice Pattern - Separate slices for tasks and videos
- Async Thunks - Handle API calls and side effects
- Serializable State - Proper serialization for persistence
- Atomic Design - Hierarchical component structure
- Composition Pattern - Higher-order components for reusability
- Props Interface - Strict TypeScript interfaces for all props
- Memoization - React.memo for performance optimization
- React Native Animated - Native driver animations for 60fps
- Staggered Timing - Sequential animations for visual hierarchy
- Gesture Handling - Smooth touch interactions
- React Native 0.72+ - Cross-platform mobile framework
- Expo 49+ - Development platform and build system
- TypeScript 5.0+ - Type-safe JavaScript
- React Navigation 6+ - Navigation library
- Redux Toolkit - Predictable state container
- React Redux - React bindings for Redux
- RTK Query - Data fetching and caching (planned)
- NativeWind - Tailwind CSS for React Native
- React Native Reanimated - Advanced animations
- React Native Gesture Handler - Touch gesture system
- Expo Vector Icons - Icon library
- AsyncStorage - Local data persistence
- Expo FileSystem - File operations and downloads
- Expo Network - Network status monitoring
- Expo Video - Video playback capabilities
- ESLint - Code linting
- Prettier - Code formatting
- Flipper - Debugging and development tools
- Metro - JavaScript bundler
- Mobile-First - Designed specifically for mobile interactions
- Intuitive Navigation - Clear visual hierarchy and navigation patterns
- Micro-Interactions - Subtle animations enhance user feedback
- Accessibility - WCAG compliant design principles
- Component Memoization - Prevent unnecessary re-renders
- Image Optimization - Lazy loading and caching strategies
- Bundle Splitting - Code splitting for faster initial load
- Native Animations - Hardware-accelerated animations
- Progressive Web App principles for mobile
- Intelligent Caching - Smart data synchronization
- Conflict Resolution - Handle offline/online state changes
- Background Sync - Sync data when connection restored
- Input Validation - Prevent XSS and injection attacks
- Secure Storage - Encrypted storage for sensitive data
- Network Security - Proper certificate validation
- Initial Load Time - < 3 seconds on mid-range devices
- Animation Frame Rate - Consistent 60fps animations
- Memory Usage - < 150MB average memory footprint
- Bundle Size - < 25MB optimized bundle
- Touch Response - < 16ms touch-to-response time
- Navigation Speed - Instant screen transitions
- Offline Functionality - 100% feature availability offline
- Error Recovery - Graceful error handling and recovery
- Cloud Synchronization - Sync tasks across devices
- Push Notifications - Task reminders and due date alerts
- Voice Notes - Audio attachments for tasks
- Collaboration - Share tasks with team members
- Dark Mode - Complete dark theme implementation
- AI-Powered Suggestions - Smart task prioritization
- Calendar Integration - Sync with device calendar
- Advanced Analytics - Productivity insights and reports
- Custom Categories - User-defined task categories
- Subtasks - Break down complex tasks
- Video Streaming - Direct video streaming capabilities
- Course Progress - Track learning progress across courses
- Bookmarks - Save favorite video moments
- Playlist Creation - Custom learning playlists
- Speed Controls - Variable playback speeds
- Web Application - Cross-platform web version
- Desktop Apps - Windows/macOS native applications
- Watch App - Apple Watch companion app
- Widget Support - Home screen widgets
- Siri Shortcuts - Voice command integration
- GraphQL Integration - More efficient data fetching
- Offline-First Sync - Advanced offline synchronization
- Performance Monitoring - Real-time performance analytics
- Automated Testing - Comprehensive test coverage
- CI/CD Pipeline - Automated deployment process
- Onboarding Flow - Interactive app introduction
- Gesture Navigation - Advanced swipe gestures
- Haptic Feedback - Enhanced tactile feedback
- Accessibility - Screen reader and voice control
- Internationalization - Multi-language support
We welcome contributions!
- 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 TypeScript best practices
- Use ESLint and Prettier for code formatting
- Write unit tests for new features
- Update documentation for API changes
- Lead Developer - GyroNeuron
- UI/UX Designer - Designer Name
- 📧 Email - [email protected]
Made with ❤️ for productivity enthusiasts