Skip to content

arnabpal2022/MyTasksApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Tasks - Task Management App

MyTasks is a simple and powerful task management mobile app built with React Native and Expo. It helps you to organize your daily activities with features like task creation, completion tracking, reminders, and persistent storage.

Key Features

  • 📝 Create tasks
  • 🗑️ Delete tasks
  • ✅ Mark tasks as complete with visual indications
  • 🔔 Automatic Remind notifications
  • 🔔 No notifications on Completed and Deleted Tasks (Additional)
  • 💾 Local storage for persistent data (Additional)
  • 🎨 Clean, modern User Interface.

Technologies Used

  • React Native
  • Expo
  • Expo Notifications
  • React Native Async Storage
  • React Hooks
  • Feather Icons

Setup and Installation

Prerequisites

  • Node.js
  • Expo CLI (npm install -g expo-cli)
  • Expo Go app on your mobile device (Use Emulator)

Installation Steps

  1. Clone the repository:

    git clone https://github.com/arnabpal2022/MyTasksApp.git
    cd MyTasksApp
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run android # to run the app in android
  4. Run on your device:

    • Open the Expo Go app on your mobile device
    • Scan the QR code that appears in your terminal or Insert the expo url
    • The app will automatically load and run on your device

Using the App

  1. Add a new task:

    • Type your task in the input field at the top
    • Press the "+" button or hit enter on your keyboard
  2. Manage tasks:

    • ✔️ Tap the circle icon to mark a task as complete
    • ✏️ Tap the edit icon to modify a task
    • 🗑️ Tap the trash icon to delete a task
  3. Notifications:

    • Each new task will trigger a notification after 10 seconds
    • Notifications are automatically canceled when tasks are marked complete
    • The app will request notification permissions on first launch

Technical Challenges

  1. Notification Management: Implemented a robust system to schedule, update, and cancel notifications ensuring those stay synchronised with task changes

  2. Data Persistence: Implementing AsyncStorage to maintain task state across app sessions with handling serialization of notification IDs with task objects and creating a seamless loading experience while data is being retrieved

Future Improvements

We can implement in future:

  • Add due dates and time-based reminders
  • Implement task categories or tags
  • Add task prioritization
  • Implement dark mode support
  • Add swipe gestures for task actions

Support

For any issues or questions, please contact [arnabpalofficial2003@gmail.com] or open an issue in the repository.