C# / SYSTEMS / NOTATKI Z PROJEKTÓW

Aplikacje i systemy .NET

Aplikacje webowe i desktopowe, systemy wewnętrzne, dodatki do Outlooka i Excela oraz niezawodna logika biznesowa.

Najpierw modeluję reguły

W aplikacjach .NET najwięcej pracy dzieje się pod powierzchnią: w regułach domeny, danych, uprawnieniach i ścieżkach błędów. Interfejs jest ważny, ale dopiero dobrze ułożony model pozwala mu być prostym.

Evil Alchemist: C# poza typowym webem

Evil Alchemist to autorski roguelite z walką turową, w którym najwięcej pracy dzieje się w regułach, danych i narzędziach. Projekt pokazuje, jak wykorzystuję .NET do budowania domeny niezależnej od silnika gry.

NOTATKA Z PROJEKTU

DOMENA

Mechanika nie zależy od sceny

Czysta domena .NET 8 jest oddzielona od Godota. Reguły walki, statusów, reakcji i progresji można testować oraz rozwijać bez mieszania logiki z warstwą prezentacji.

DANE

Balans zapisany jako wersjonowany model

Składniki, receptury i konfiguracja spotkań są przechowywane w JSON. Dzięki temu eksperymentowanie z 162 kombinacjami alchemicznymi nie wymaga przepisywania scen ani kodu sterującego.

NARZĘDZIA

Walidacja przed uruchomieniem

GameContentValidator i osobny audyt sprawdzają kompletność receptur oraz referencji między katalogami. Osobne profile wiedzy, checkpointy i trzy sloty zapisu są częścią projektu, a nie dopiskiem po fakcie.

CampusPBnet: uporządkować życie akademickie w jednym systemie

CampusPBnet powstał z bardzo konkretnej obserwacji: informacje akademickie są rozrzucone po mailach, grupach i przypadkowych kanałach. Zaprojektowałem platformę, która łączy społeczności, publikacje i uprawnienia w jednym modelu.

NOTATKA Z PROJEKTU

PROBLEM

Struktura uczelni wymaga struktury danych

Użytkownik może należeć do wydziału, koła naukowego i mniejszej grupy projektowej. Dlatego społeczności są hierarchiczne, mogą być otwarte albo wymagać akceptacji, a każda z nich ma własne sekcje i reguły widoczności.

MOJA ODPOWIEDZIALNOŚĆ

Od modelu domeny do działającego interfejsu

Jako pomysłodawca i autor implementacji prowadziłem projekt przez model danych, uwierzytelnianie, widoki, wyszukiwanie i moderację. Zbudowałem też cztery typy publikacji: aktualności, dyskusje, ankiety i wydarzenia z lokalizacją.

ARCHITEKTURA

Uprawnienia są częścią domeny, nie dodatkiem

ASP.NET Identity odpowiada za tożsamość, ale role wewnątrz społeczności są niezależne i granularne. EF Core pilnuje relacji, indeksów, ograniczeń i współbieżności. Treści przechodzą przez sanitizację, a bannery są automatycznie kadrowane i kompresowane przed zapisaniem.

Sklep .NET 8: od katalogu do zamówienia

Sklep „Buły i Bagiety” był ćwiczeniem z budowania kompletnego przepływu zakupowego, a nie tylko widoku katalogu. Każda funkcja, od kategorii po panel administratora, miała swoje miejsce w jednym spójnym systemie.

NOTATKA Z PROJEKTU

DOŚWIADCZENIE UŻYTKOWNIKA

Katalog, który prowadzi do decyzji

Zaimplementowałem wyszukiwanie, filtry cenowe i magazynowe, promocje, nowości oraz rekurencyjne drzewo kategorii. Cennik PDF można wygenerować dla kategorii wraz z jej podkategoriami, bez ręcznego składania dokumentu.

KOSZYK I ZAMÓWIENIE

Integralność danych w najważniejszym momencie

Dedykowany CartService prowadzi koszyk powiązany z kontem. Przed złożeniem zamówienia system sprawdza dane klienta i stan magazynowy, a po zatwierdzeniu aktualizuje ilości oraz zachowuje historię zamówień i możliwość ponowienia zakupu.

BACKOFFICE

Administracja bez omijania reguł

Panel administratora obejmuje produkty, hierarchię kategorii, zamówienia, użytkowników i podstawową analitykę. Upload obrazu przechodzi przez ImageSharp, a role, tokeny anty-CSRF i walidacja serwerowa chronią operacje, które zmieniają dane.

Technologia wynika z ograniczeń.

Poniższy stack jest mapą przykładów z tej strony, nie listą zakupów. Wybieram to, co uzasadnia problem i co kolejna osoba będzie mogła utrzymać.

  • C#
  • .NET
  • ASP.NET Core
  • REST API

NASTĘPNY KROK

Masz podobny problem do uporządkowania?

Opowiedz, co powinno działać lepiej. Pomogę przełożyć pierwszą rozmowę na realny zakres i rozwiązanie, które da się utrzymywać.

CHCĘ DARMOWE DEMO