Autor: Adrian Goral
Celem projektu jest stworzenie aplikacji w technologii .NET MAUI, która umożliwia zarządzanie użytkownikami i ich postami. Projekt obejmuje integrację z zewnętrznym API, obsługę lokalnej bazy danych SQLite, implementację graficznego interfejsu użytkownika (GUI) oraz testowanie aplikacji.
Aplikacja pozwala użytkownikowi na:
- Pobieranie danych użytkowników i postów z zewnętrznego API (
https://jsonplaceholder.typicode.com). - Przeglądanie listy użytkowników oraz ich postów.
- Dodawanie nowych użytkowników.
- Usuwanie istniejących użytkowników wraz z ich postami.
- Przechowywanie danych w lokalnej bazie SQLite.
Projekt składa się z następujących komponentów:
-
Modele danych:
User- Klasa reprezentująca użytkownika pobranego z API.Post- Klasa reprezentująca post pobrany z API.UserEntity- Klasa reprezentująca użytkownika w lokalnej bazie danych.PostEntity- Klasa reprezentująca post w lokalnej bazie danych.ApiState- Klasa przechowująca stan pobierania danych.
-
Baza danych:
AppDbContext- Klasa kontekstu bazy danych SQLite, zarządzająca tabelami użytkowników, postów i stanu API.
-
Interfejs użytkownika (GUI):
MainPage.xaml- Główna strona aplikacji, zawierająca formularz dodawania użytkownika oraz listę użytkowników.AppShell.xaml- Struktura nawigacji w aplikacji.
-
Logika aplikacji:
MainPageViewModel- Klasa ViewModel implementująca logikę pobierania i zarządzania danymi użytkowników.MainPage.xaml.cs- Klasa kodu zaplecza dla głównej strony aplikacji, odpowiedzialna za interakcję z GUI.
-
Konfiguracja aplikacji:
MauiProgram.cs- Konfiguracja aplikacji .NET MAUI, w tym rejestracja usług i bazy danych.
Po uruchomieniu aplikacji konsolowej użytkownik może:
- Przeglądać listę użytkowników i ich postów.
- Dodawać nowych użytkowników za pomocą formularza.
- Usuwać użytkowników wraz z ich postami.
Po uruchomieniu aplikacji okienkowej, użytkownik może:
- Przeglądać listę użytkowników w interfejsie graficznym.
- Dodawać nowych użytkowników za pomocą formularza w GUI.
- Usuwać użytkowników z listy.
Dane są pobierane z API podczas pierwszego uruchomienia aplikacji konsolowej i zapisywane w lokalnej bazie SQLite. W przypadku braku danych w bazie, aplikacja automatycznie pobiera je z API.
- .NET 8.0
- MAUI
- C#
- SQLite (Entity Framework Core)
- XAML (do tworzenia GUI)
Projekt stanowi przykład aplikacji mobilnej stworzonej w technologii .NET MAUI, która integruje się z zewnętrznym API, obsługuje lokalną bazę danych SQLite i oferuje graficzny interfejs użytkownika. Aplikacja jest rozszerzalna i może być rozwijana o dodatkowe funkcjonalności, takie jak testy jednostkowe czy zaawansowane opcje filtrowania danych.