Taskami je ukázkový projekt inspirovaný službou Todoist (částečně i Redmine), jehož cílem je postupně navrhnout a ověřit architekturu moderní task management aplikace v .NET ekosystému.
Aktuální podoba projektu slouží především jako technická demonstrace práce s OpenAPI, návrhu API kontraktu a jeho využití v klientské aplikaci. Zároveň jde o základ, na kterém je možné architekturu dál rozvíjet směrem k větší modularitě a multiplatformnímu řešení.
Projekt je v současné fázi zaměřen především na funkční demonstraci práce s OpenAPI a klient–server komunikací. Architektura je zatím zjednodušená a optimalizovaná pro pochopení principů, nikoli pro plnou modularitu.
V tuto chvíli projekt obsahuje:
| Část | Popis |
|---|---|
| Backend | ASP.NET Core API generované z OpenAPI specifikace |
| Klient | Jednoduchý klient / UI pro práci s API |
Cílem aktuální fáze je získat jistotu v základech (API, UI backend, tok dat), nikoli řešit kompletní architekturu větší aplikace.
Níže uvedené rozdělení představuje dlouhodobý architektonický cíl projektu, nikoli aktuální implementaci. K jeho realizaci chci dojít postupně, až po upevnění základních konceptů.
| Projekt | Zamýšlená role |
|---|---|
Taskami.API |
Samostatná backendová vrstva nad OpenAPI kontraktem |
Taskami.Client |
Sdílené C# SDK generované z OpenAPI |
Taskami.WebUI |
Webový klient nad SDK |
Taskami.WPFUI |
Desktopový klient jako alternativní frontend |
Mobilní klient (Flutter / Kotlin) je uvažovaným budoucím rozšířením, nikoli součástí aktuální implementace.
Současně zvažuji přepsání projektu Todoist Widget z Pythonu do C#, a to jako samostatný krok ke sjednocení stacku a případné hlubší integraci s Taskami v další fázi vývoje.
Krátkodobé (aktuální stav)
✅ Praktická práce s OpenAPI (kontrakt, generování klienta)
✅ Funkční napojení klientské aplikace na API
✅ Ukázka základního návrhu klient–server komunikace v .NET
Dlouhodobé (ambice projektu)
🚀 Postupná modularizace backendu
🚀 Sdílený backend pro více typů klientů
🚀 Čistější oddělení doménové logiky a UI
🚀 Rozšiřitelný základ pro další platformy a integrace
Projekt je veden jako iterativní vývoj, kde je důraz kladen na pochopení architektury a rozhodovacích trade-offů, nikoli na okamžitou úplnost řešení.
- Zdrojový kód je poskytován pod licencí MIT.
Tento projekt je zveřejněn jako ukázka práce pro náborové účely.
Můžete jej volně prohlížet, analyzovat a inspirovat se.
