@online{ms_dependency_inversion,
  title   = {Dependency Inversion},
  url     = {https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/architectural-principles#dependency-inversion},
  author  = {{Microsoft}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{logrocket_dependency_inversion,
  title   = {Dependency Inversion Principle},
  url     = {https://blog.logrocket.com/dependency-inversion-principle/},
  author  = {{LogRocket}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{oodesign_dependency_inversion,
  title   = {Dependency Inversion Principle},
  url     = {https://www.oodesign.com/dependency-inversion-principle},
  author  = {{OO Design}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{ms_di_overview,
  title   = {Dependency Injection Overview},
  url     = {https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection/overview},
  author  = {{Microsoft}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{oqtane_about,
  title   = {About Oqtane},
  url     = {https://www.oqtane.org/#about},
  author  = {{Oqtane Foundation}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{oqtane_docs_extensions,
  title   = {Oqtane Extensions},
  url     = {https://docs.oqtane.org/dev/extensions/index.html},
  author  = {{Oqtane Foundation}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{wikipedia_blazor,
  title   = {Blazor},
  url     = {https://en.wikipedia.org/wiki/Blazor},
  author  = {{Wikipedia}},
  year    = {2024},
  urldate = {2026-03-19}
}

@article{bentley1985programming,
  title     = {Programming pearls},
  author    = {Jon Bentley},
  journal   = {Communications of the ACM},
  volume    = {28},
  number    = {9},
  pages     = {896--901},
  year      = {1985},
  publisher = {ACM},
  doi       = {10.1145/4284.315122}
}

@online{fowler_dependency_injection,
  title   = {Inversion of Control Containers and the Dependency Injection pattern},
  url     = {https://martinfowler.com/articles/injection.html},
  author  = {Martin Fowler},
  year    = {2004},
  urldate = {2026-03-19}
}

@online{andrewlock_token_lifetime,
  title   = {Implementing custom token providers for passwordless authentication in ASP.NET Core Identity},
  url     = {https://andrewlock.net/implementing-custom-token-providers-for-passwordless-authentication-in-asp-net-core-identity/#changing-the-default-token-lifetime},
  author  = {Andrew Lock},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{race_conditions_pdf,
  title   = {Race Conditions},
  url     = {https://www.cs.umd.edu/projects/syschat/raceConditions.pdf},
  author  = {University of Maryland},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{gitea_docs,
  title   = {Gitea Documentation},
  url     = {https://docs.gitea.com/},
  author  = {{Gitea}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{gitea_issue_tracker,
  title   = {Gitea Issue Tracker Comparison},
  url     = {https://docs.gitea.com/installation/comparison#issue-tracker},
  author  = {{Gitea}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{gitea_pull_requests,
  title   = {Gitea Pull Requests},
  url     = {https://docs.gitea.com/usage/pull-request},
  author  = {{Gitea}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{gitea_actions,
  title   = {Gitea Actions Overview},
  url     = {https://docs.gitea.com/usage/actions/overview},
  author  = {{Gitea}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{gitea_packages,
  title   = {Gitea Packages Overview},
  url     = {https://docs.gitea.com/usage/packages/overview},
  author  = {{Gitea}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{dsgvo,
  title   = {Datenschutz-Grundverordnung (DSGVO)},
  url     = {https://eur-lex.europa.eu/eli/reg/2016/679/},
  author  = {{Europäische Union}},
  year    = {2016},
  urldate = {2026-03-19}
}

@online{ris,
  title   = {Rechtsinformationssystem des Bundes (RIS)},
  url     = {https://www.ris.bka.gv.at/},
  author  = {{Bundeskanzleramt Österreich}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{dsb,
  title   = {Österreichische Datenschutzbehörde (DSB)},
  url     = {https://dsb.gv.at/},
  author  = {{Datenschutzbehörde}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{bsi_datensicherung,
  title   = {Datensicherung und Datenverlust},
  url     = {https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Daten-sichern-verschluesseln-und-loeschen/Datensicherung-und-Datenverlust/Datensicherung-wie-geht-das/datensicherung-wie-geht-das_node.html},
  author  = {{Bundesamt für Sicherheit in der Informationstechnik (BSI)}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{chatgpt_datensicherung,
  title   = {Notwendigkeit der Datensicherung},
  url     = {https://chatgpt.com/c/69a06632-e4fc-8384-bd6c-a543d7bbd00d},
  author  = {{OpenAI (ChatGPT)}},
  year    = {2024},
  urldate = {2026-03-19}
}

@online{aspnet_core_docs,
  title   = {ASP.NET Core Documentation},
  url     = {https://learn.microsoft.com/en-us/aspnet/core/},
  author  = {{Microsoft}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{blazor_docs,
  title   = {Blazor Documentation},
  url     = {https://learn.microsoft.com/en-us/aspnet/core/blazor/},
  author  = {{Microsoft}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{ef_core_migrations,
  title   = {Entity Framework Core – Migrations},
  url     = {https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/},
  author  = {{Microsoft}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{questpdf,
  title   = {QuestPDF Open Source Library},
  url     = {https://www.questpdf.com/},
  author  = {{QuestPDF}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{bootstrap,
  title   = {Bootstrap Framework},
  url     = {https://getbootstrap.com/},
  author  = {{Bootstrap}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{gitea_about,
  title   = {Gitea – Open Source Git Service},
  url     = {https://about.gitea.com/},
  author  = {{Gitea}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{livedesign,
  title   = {LiveDesign – Hosting, Design & Branding},
  url     = {https://livedesign.at/},
  author  = {{LiveDesign}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{bsi_grundschutz,
  title   = {IT-Grundschutz-Kompendium – CON.3: Datensicherungskonzept},
  url     = {https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/Kompendium/IT_Grundschutz_Kompendium_Edition2023.pdf},
  author  = {{BSI}},
  year    = {2023},
  urldate = {2026-03-19}
}

@online{rfc6749,
  title   = {IETF RFC 6749 – The OAuth 2.0 Authorization Framework},
  url     = {https://datatracker.ietf.org/doc/html/rfc6749},
  author  = {{IETF}},
  year    = {2012},
  urldate = {2026-03-19}
}

@online{linkedin_auth_flow,
  title   = {LinkedIn Developer Documentation – Authorization Code Flow},
  url     = {https://learn.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow},
  author  = {{Microsoft}},
  year    = {2026},
  urldate = {2026-03-19}
}

@online{oqtane_docs_rendermodes,
  title   = {Oqtane Render Modes},
  url     = {https://docs.oqtane.org/guides/concepts/render-modes/index.html},
  author  = {{Oqtane Foundation}},
  year    = {2024},
  urldate = {2026-03-19}
}
@online{jetbrains_rider,
  title   = {JetBrains Rider},
  url     = {https://www.jetbrains.com/rider/},
  author  = {{JetBrains}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{oqtane_framework_site,
  title   = {Oqtane Framework},
  url     = {https://www.oqtane.org/},
  author  = {{Oqtane Foundation}},
  year    = {2026},
  urldate = {2026-03-17}
}

@online{oqtane_docs_dev,
  title   = {Oqtane Developer Documentation},
  url     = {https://docs.oqtane.org/},
  author  = {{Oqtane Foundation}},
  year    = {2026},
  urldate = {2026-03-17}
}
