Ovo je .NET 8 rešenje (Visual Studio 2022) koje se sastoji od tri dela:
-
LakatosCardReader (Class Library)
- Glavna logika za čitanje i detekciju kartica (lična, saobraćajna, zdravstvena – čitanje zdravstvene je TODO).
- Deljena je i korišćena u ConsoleApp i Web projektima.
-
ConsoleApp (CMD Test)
- Demonstrira funkcionalnost čitača kartica u konzolnom okruženju.
- Pokrećete ga sa:
dotnet run --project ConsoleApp/ConsoleApp.csproj
-
Web (MVC + SignalR)
- Prikazuje događaje umetanja/uklanjanja kartice u realnom vremenu.
- Nudi UI za čitanje i prikaz detalja kartice.
- Pokrećete ga sa:
ili kao https:
dotnet run --project Web/Web.csproj
dotnet run --project Web/Web.csproj --launch-profile https
- Nakon pokretanja, u
launchSettings.json
su definisani portovi:{ "profiles": { "http": { "applicationUrl": "http://localhost:5054" }, "https": { "applicationUrl": "https://localhost:7272;http://localhost:5054" } } }
- Otvorite web browser na
https://localhost:7272
ilihttp://localhost:5054
.
- Omogućava rad na Windows i Linux platformama.
- Pruža napredne performanse i dugoročnu podršku.
- Build celog rešenja:
dotnet build
dotnet run --project ConsoleApp/ConsoleApp.csproj
dotnet run --project Web/Web.csproj
Otvorite http://localhost:5054 ili https://localhost:7272, izaberite čitač i startujte monitoring.
- Class Library (LakatosCardReader): Sadrži interfejse, modele, parsere i util klase za obradu kartica.
- ConsoleApp: Koristi
LakatosCardReader
direktno za demonstraciju rada u konzoli. - Web: Koristi SignalR za emitovanje događaja i prikaz čitanja kartica u realnom vremenu.
- Zdravstvena kartica: Trenutno se samo detektuje; čitanje je planirano (TODO).
Razvoj ovog projekta u .NET 8 inspirisan je projektom Nikole Ubavića Baš Čelik, napisanim u Go jeziku.
GitHub link: Baš Čelik
Dodate su asinhrone metode u Class Library sa sufiksom Async
, dok su sinhrone metode zadržane. Asinhronost omogućava pokretanje monitora za slanje događaja, detekciju tipa kartice i čitanje kartice. Ove funkcionalnosti su implementirane u web projektu (MVC + SignalR), dok konzolna aplikacija koristi stare sinhrone metode.
- Čitanje sertifikata sa lične karte:
- Personalni sertifikat za autentifikaciju (Zlib kompresovan) sada se može čitati, dekompresovati i sačuvati.
- Sertifikat se može preuzeti u
DER
formatu direktno iz web aplikacije (privremeno čuvanje u kontroleru - 10 minuta).