Task Manager App is a cross-platform mobile application built with React Native and Expo. It allows users to manage their daily tasks efficiently with features like authentication, task creation, editing, deletion, status management, and offline support. The app provides a modern and intuitive UI, making it easy to track progress and stay organized whether online or offline.
A cross-platform mobile Task Manager built with React Native and Expo.
Check out a video demo of the app:
Task-Manager-App-Demo.mp4
- User authentication (login/register)
- Add, edit, delete tasks
- Task status management (Pending, In Progress, Completed)
- Offline support for tasks
- Persistent user sessions
- Modern UI with statistics and quick actions
- React Native
- Expo
- TypeScript
- React Navigation
- AsyncStorage
- REST API (see
src/services/api.ts
) - Backend: JavaEE with Hibernate (TaskManagerApp-Backend)
├── App.tsx
├── app.json
├── index.ts
├── package.json
├── tsconfig.json
├── assets/
├── src/
│ ├── components/
│ │ └── TaskItem.tsx
│ ├── screens/
│ │ ├── AddTaskScreen.tsx
│ │ ├── LoginScreen.tsx
│ │ └── TaskListScreen.tsx
│ ├── services/
│ │ ├── api.ts
│ │ └── storage.ts
│ ├── types/
│ │ └── index.ts
│ └── utils/
│ └── constants.ts
- Node.js & npm
- Expo CLI (
npm install -g expo-cli
)
- Clone the repository:
git clone https://github.com/cusaldmsr/Task-manager.git
- Change directory:
cd Task-manager
- Install dependencies:
npm install
- Start the development server:
npm start
- Start expo:
npx expo start
- Run on your device:
- For Android:
npm run android
- For iOS:
npm run ios
- For Web:
npm run web
- For Android:
The backend for this project is built with JavaEE and Hibernate. You can find the source code and setup instructions here:
Update the API base URL in src/utils/constants.ts
if your backend endpoint changes.
- Register a new account or log in with existing credentials.
- Add, edit, or delete tasks.
- Change task status by tapping the status badge.
- Tasks are available offline and sync when online.
Tasks are cached locally using AsyncStorage. Any changes made offline will sync with the server when connectivity is restored.
Contributions are welcome! Please open issues or submit pull requests for improvements and bug fixes.
This project is licensed under the MIT License.