A mobile TodoList application built with Flutter and MongoDB as the backend database. This app allows users to:
- Account Management: Register and log in with secure authentication
- Task Management: Create, read, update, and delete personal tasks
- User Profile: View and update personal profile information
- Login Page – User login screen
- Register Page – User registration screen
- Home Page – Displays all user tasks
- Add Task Page – Form to add a new task
- Edit Task Page – Form to edit an existing task
- Profile Page – User information and settings
MongoDB Atlas is used as the cloud-based database to store user and task data.
users– Stores user data (email, hashed password, username)tasks– Stores task data (title, description, status, date, etc.)
The application communicates with MongoDB using a RESTful API built with Node.js and Express.js.
POST /api/auth/register– Register a new userPOST /api/auth/login– User loginGET /api/tasks– Get all tasksPOST /api/tasks– Create a new taskPUT /api/tasks/:id– Update an existing taskDELETE /api/tasks/:id– Delete a taskGET /api/profile– Get user profilePUT /api/profile– Update user profile
- Flutter SDK
- Dart programming language
- Provider (for state management)
- Node.js
- Express.js
- MongoDB Driver
- JWT (JSON Web Tokens for authentication)
- Visual Studio Code
- MongoDB Compass
- Postman (for API testing)
git clone https://github.com/Clawwo/TodoApp-Flutter.git cd todoapp flutter pub getCreate a .env file in the root directory based on .env.example.
Run the Flutter App:
flutter run1.Make sure the backend server is running.
2.Run the Flutter app on an emulator or physical device.
3.Register a new account on the Register Page, or log in using your existing credentials.
4.Add, edit, or delete tasks from the Home Page.
5.Access and update user profile data from the Profile Page.
demo.mp4
- Name: Farel Haryanto
- Email: farelharynto@gmail.com
- Linkedin: https://www.linkedin.com/in/farel-haryanto-790553343/
- Created on: 30-05-2025