ToDo-List Notes

Personal Notes Management Application

Project Date 31st December 2021
Platform Mobile Application
Type Cross-Platform
Data Management Relational Database
Languages & Tools

1 Introduction

"ToDo-List" is a personal notes management application. Using this application, user can add new notes, update the notes, delete the notes, read the created notes, and search saved notes. Notes could be consideres as an essential feature in mobile devices. The application should consist straightforward interfaces with efficient user experience for convenient usability.

The requirements of the applications are;

  1. Use of suitable application architecture.
  2. Use of mobile development best practices for development.
  3. Use of UI (User Interface) / UX (User Experience).
  4. Use of suitable embedded database.

2 Features

  1. Create new note.

This feature would allow the application user to create a new note in the “ToDo-List” application, based on the choice of the user. This feature would require the user to enter the desired ‘title’ of the note and then the ‘content’ related with the specific note to create a new note.

  1. View existing notes.

This feature would act as the primary requirement of the application. This feature allows the user to view the list of all created notes in a list view, which would be the home screen of the application.

  1. Edit existing note.

This feature would assist the user to update changes in any existing note. The user would be able to edit the existing note ‘title’ as well as its ‘content’ and the save the changes of the specific note.

  1. Delete existing note.

This feature allows the user to delete any unnecessary notes created in the application. The user would be able to select any existing note from the ‘view existing notes’ section and delete the specific note.

3 Architecture

  1. Language: Dart

Dart programming language has been selected to program the required ToDo-List application. Dart is a free and open-source OOP (Object-Oriented Programming) language, consisted with C-based composition developed by Google LLC. Dart is majorly used to design the frontend user interfaces for mobile applications. It supports common concepts of programming languages like classes, interfaces, functions. Moreover, Dart is also a compiled language, the code requires to be compiled to machine code before being executed during development.

  1. Framework: Flutter

Flutter framework has been selected to assist the application development with Dart language. Flutter is an open-source and free mobile application user interface framework released by Google LLC. Flutter is well-known for its ability to design a native mobile application using one codebase. The Flutter framework is consisted of an SDK (Software Development Kit), which assists with tools used for development. It also consists a widget-based UI (User Interface) library, with a group of reusable UI elements.

  1. State Management: Cross-Platform

The ToDo-List application will be implemented using cross-platform development technique. Cross-platform is a development methodology procedure that allows application implementation to be able work on multiple mobile operating systems concurrently, mainly including iOS, Android and Microsoft Windows. These applications are programmed with native codes along with independent codes supporting multiple platforms, which increases the development efficiency and effectiveness.

  1. Database: SQLite

The ToDo-List application would be developed using SQLite database system for the backend procedures. SQLite is a software library that would provide a relational database management system for the Dart + Flutter application. SQLite is popular among developers due to its serverless, self-contained and transactional abilities. Moreover, the database also has way less configuration requirements compared to similar database systems.