TrackMyIP

TrackMyIP
Przybliżony startPrzybliżony koniecDo pobraniaGithubPokazówka
09.01.202527.01.2025LinkLinkLink
Stack (użyte nugety, język itp.)WPF, .NET 9, C#, MahApps.Metro, Microsoft.Xaml.Behaviors.Wpf, EntityFrameworkCore, EntityFrameworkCore.Sqlite, EntityFrameworkCore.Tools, EntityFrameworkCore.InMemory, SQLite, CommunityToolkit.Mvvm, Newtonsoft.Json, FluentAssertions, FluentAssertions.Analyzers, Moq, xunit, Dependency Injection, MVVM, Singleton, Services, RestAPI

Program do pobierania części informacji geolokalizacyjnych ze strony ipstack.com. Po wprowadzeniu adresu IP/URL pobiera informacje, które można zapisać w bazie danych SQLite. Wcześniej trzeba utworzyć konto by uzyskać klucz API i ustawienie go w ustawieniach aplikacji. Darmowe konto na chwilę obecną posiada 100 darmowych zapytań w ciągu miesiąca.

Funkcje

  • Wyszukiwanie geolokalizacji:
    • Wprowadź adres IP lub URL, aby uzyskać dane geolokalizacyjne, takie jak kraj, region, miasto, szerokość i długość geograficzna.
  • Zarządzanie danymi geolokalizacyjnymi:
    • Dodawaj, edytuj i usuwaj zapisane dane w lokalnej bazie SQLite.
  • Walidacja klucza API:
    • Możliwość sprawdzenia poprawności klucza API w ustawieniach aplikacji.
  • Intuicyjny interfejs użytkownika:
    • Oparty na bibliotece MahApps.Metro z obsługą wzorca MVVM, zapewniający czytelność i prostotę obsługi

Możliwe, że aplikacja będzie rozbudowywana w przyszłości.

Wymagania

  1. .NET 9: Upewnij się, że masz zainstalowane środowisko .NET 9.
  2. Konto na ipstack:
    • Zarejestruj się na stronie ipstack.com.
    • Uzyskaj własny klucz API, który będzie wymagany do działania aplikacji.
  3. SQLite: Aplikacja korzysta z lokalnej bazy danych SQLite, która zostanie automatycznie utworzona przy pierwszym uruchomieniu.

Użyte biblioteki

TrackMyIP wykorzystuje następujące biblioteki:

  • xunit – xUnit.net jest frameworkiem testowania deweloperskiego, zbudowanym w celu wsparcia Test Driven Development, z celem projektowym ekstremalnej prostoty i dostosowania do funkcji frameworka.
  • MahApps.Metro – Stylizacja i ulepszenie interfejsu użytkownika.
  • Microsoft.EntityFrameworkCore – Dostęp do bazy danych w modelu ORM.
  • Microsoft.EntityFrameworkCore.Sqlite – Obsługa bazy SQLite.
  • Microsoft.EntityFrameworkCore.Tools – Narzędzia CLI dla Entity Framework.
  • Microsoft.EntityFrameworkCore.InMemory – Dostawca bazy danych in-memory dla Entity Framework Core (do wykorzystania w celach testowych).
  • CommunityToolkit.Mvvm – Szybka, modułowa, platformowa biblioteka MVVM, która jest oficjalnym następcą MVVMlight. Posiada Dependency Injection (Ioc), klasy RelayCommand, ObservableProperty, ObservableObject itp.
  • Newtonsoft.Json – Przetwarzanie i parsowanie danych JSON.
  • FluentAssertions – Fluent Assertions oferuje kompleksowy zestaw metod rozszerzeń, które umożliwiają naturalne wyrażanie oczekiwanych wyników testów jednostkowych TDD (programowanie sterowane testami) lub BDD (rozwój sterowany zachowaniem).
  • FluentAssertions.Analyzers – Analizatory pomagające w pisaniu płynnych twierdzeń we właściwy sposób.
  • Moq – Moq to najpopularniejszy i najbardziej przyjazny framework mockingowy dla .NET.

TrackMyIP

Widok z danymi

TrackMyIP

Wyszukiwanie geolokalizacji - puste

TrackMyIP

Wyszukiwanie geolokalizacji z pobranymi danymi

TrackMyIP

Ustawienia

0

Ocena aplikacji od 1-5