A simple offline-first Task Manager App built with Flutter for the frontend and Node.js with Express and PostgreSQL for the backend. The app supports offline data management with automatic online synchronization when the connection is restored. Containerized using Docker for easy deployment.
- Flutter
- State Management: Bloc and Cubit
- HTTP Requests: HTTP package
- Typescript
- Node
- Express
- PostgreSQL
- Docker
- Offline Storage: (e.g., sqflite for Flutter)
- Sync Mechanism: Custom implementation or libraries
- Offline-First Functionality: Tasks can be created, updated, and deleted even when offline.
- Data Synchronization: Automatically syncs offline data with the server when back online.
- Task Management: Add, edit, delete, and mark tasks as completed.
- Dockerized Backend: Easily deploy the backend using Docker.
![]() |
![]() |
![]() |
![]() |
Ensure you have the following installed:
- Flutter SDK
- Node.js and npm
- Docker and Docker Compose
-
Clone the repository:
git clone https://github.com/Abhishekbagdiya01/Task-Manager-App.git cd backend -
Install dependencies:
npm install
-
Run the backend server:
docker-compose up --build
-
Backend will be available at:
http://localhost:8000
-
Clone the repository:
cd frontend -
Install dependencies:
flutter pub get
-
Run the app:
flutter run
-
The app will be available on your connected device/emulator.
backend/
src ├── controllers/
├── routes/
├── models/
├── db/
├── interface/
└── index.ts
├── Dockerfile
├── docker-compose.yaml
frontend/
├── lib/
│ ├── core/
| | ├── error/
| | ├── const/
| | ├── utils/
| | ├── widgets/
│ ├── features/
| | ├── auth/
| | | ├── cubit/
| | | ├── screen/
| | | ├── model/
| | | ├── repository/
| | ├── task/
| | ├── cubit/
| | ├── screen/
| | ├── repository/
│ └── main.dart
├── pubspec.yaml
└── assets/
- Offline Data Storage: The app stores tasks locally using sqflite (or relevant package).
- Data Sync: Background service syncs the local database with the server when online.
- REST API: Backend provides task management APIs to store data in PostgreSQL.
This project is licensed under the MIT License.



