/ToDo_App

ToDo app with MAUI to showcase my .NET skills

Primary LanguageC#

ToDo_App

📝 Purpose

Create a TODO application to showcase developpement skills with .NET

You can find the context here

📊 Features

Done:

  • Display my ToDo list
  • A detail page for ToDos
  • Add/Edit a ToDo
  • Detele a ToDo
  • Locally stored ToDos
  • Database populated with some ToDos

NotDone:

  • Test the code
  • Improve the Lyfecicle of the app (no OnClose..)

🛠 Languages & tools

skills

🖊️ Versions

📍 Visuals

Pages
Sketchs App

⚙️ Architecture

Theses diagrams are not fully accurate and only gave the global idea of the conception.

Model
classDiagram

class ToDo {
    +-/Id : Guid
    +/Title : string
    +/IsDone : bool
    +/Description : string
    +-/CreationDate : DateTime
    ToDo(string title)
    ToDo(string title, string description)
}
Loading

ViewModels
classDiagram

class AppVM {
    +/NavigateBackCommand : ICommand
    +/GoToToDoDetail(ToDoVM vm)
    +/GoToAddTodo()
    +/GoToEditTodo(ToDoVM vm)
    +/AddToDo()
    +/EditToDo()
    +/DeleteToDo()
}
AppVM --> "1" ToDoManagerVM : ToDoManagerVM

class ToDoManagerVM {
    +-/Datamanager : IDataManager
    +/SelectedTodo ToDoVM
    - LoadToDos() Task
    + AddToDo(ToDoVM vm) Task
    + EditToDo(ToDoVM vm) Task
    + DeleteToDo(ToDoVM vm) Task
}
ToDoManagerVM --> "1" ToDoVM : SelectedTodo
ToDoManagerVM --> "*" ToDoVM : ToDosNotDone
ToDoManagerVM --> "*" ToDoVM : ToDosDone

class ToDoVM {
    +/Model : ToDo
    +-/Id : Guid
    +/Title : string
    +/IsDone : bool
    +/Description : string
    +-/CreationDate : DateTime
    ToDoVM(ToDo model)
}

class AddOrEditToDoVM {
    +/IsNewToDo : bool
    +/EditTitle : string
    +/EditDescription : string
    Clone(ToDoVM vm)
}
AddOrEditToDoVM ..|> ToDoVM
Loading

✍️ Credits