An educational web platform for learning content management, featuring markdown articles, interactive exercises, PDF generation, and AI-powered assistance.
| Project | Description |
|---|---|
Tobiso.Web.Api |
Core business logic and services |
Tobiso.Web.App |
Blazor WebAssembly frontend |
Tobiso.Web.App.Admin |
Admin dashboard (Blazor WebAssembly) |
Tobiso.Web.Domain |
Domain entities |
Tobiso.Web.Shared |
Shared DTOs and interfaces |
Tobiso.Web.Files |
File serving service |
- .NET 9 with Blazor WebAssembly
- Entity Framework Core 9 + SQL Server
- Serilog for logging
- QuestPDF for PDF generation
- MailKit for email
- Markdig for Markdown parsing
- OpenAI API for AI assistance
Add a migration:
dotnet ef migrations add <Name> --project Tobiso.Web.Api --startup-project Tobiso.Web.App --output-dir Infrastructure/Data/MigrationsApply migrations:
dotnet ef database update --project Tobiso.Web.Api --startup-project Tobiso.Web.AppGenerate a SQL script:
dotnet ef migrations script --project Tobiso.Web.Api --startup-project Tobiso.Web.App --output InitialCreate.sqlTo import HTML content, place HTML files in a directory and run them through Tobiso.Migrator to produce Markdown files. Then upload the Markdown files via:
curl -k -X POST "https://localhost:7270/api/posts/upload-md?directory={directory}" -u {login}:{password}Note: this upload does not include categories.
MIT License — © 2026 Tobias Heneman