π©πͺ Deutsche Version | π¬π§ English Version
Eine Blazor-Webanwendung fΓΌr GrundschΓΌler zum Γben aller vier Grundrechenarten.
- π² ZufΓ€llige Aufgabengenerierung mit einstellbarem Zahlenraum
- β Alle Rechenarten: Addition, Subtraktion, Multiplikation, Division
- π Gemischte Modi:
- Multiplikation & Division
- Addition & Subtraktion
- Alle Rechenarten kombiniert
- π’ Variable Operanden: 2-5 Operanden pro Aufgabe (z.B.
3 + 5 + 2 =) - π€ SchΓΌlerverwaltung: Namen speichern und wiederverwenden
- β Automatische PrΓΌfung ohne Ergebnis preiszugeben
- ποΈ Ergebnisse anzeigen per Button
- π PDF-Export mit Seitenzahlen zum Ausdrucken
- β LΓΆsungs-PDF separat herunterladbar
- π Eindeutige ID zum spΓ€teren Abrufen
- πΎ SQLite-Datenbank fΓΌr persistente Speicherung
- π Dark/Light Theme
- π Deutsch/Englisch umschaltbar
- .NET 10.0 SDK oder hΓΆher
cd MathTrainerDotNet
dotnet restore
dotnet run --project MathTrainerDotNetDie Anwendung ist unter http://localhost:5000 erreichbar.
Alternativ kann das offizielle Docker-Image verwendet werden.
Direkt mit Docker:
docker run -d -p 8080:80 -v mathtrainer-data:/app/data shinjisan/mathtrainerdotnet:latestMit Docker Compose (Produktiv-Setup):
Nutze die docker-compose.prod.yml, um die Anwendung einfach zu starten:
DOCKERHUB_USERNAME=shinji-san VERSION=latest docker compose -f docker-compose.prod.yml up -dDie Anwendung ist dann unter http://localhost:8080 erreichbar.
dotnet testA Blazor web application for elementary school students to practice all four basic arithmetic operations.
- π² Random exercise generation with customizable number range
- β All operations: Addition, Subtraction, Multiplication, Division
- π Mixed modes:
- Multiplication & Division
- Addition & Subtraction
- All operations combined
- π’ Variable operands: 2-5 operands per exercise (e.g.,
3 + 5 + 2 =) - π€ Student management: Save and reuse student names
- β Automatic checking without revealing the answer
- ποΈ Show results with a button
- π PDF export with page numbers for printing
- β Solution PDF downloadable separately
- π Unique ID for later retrieval
- πΎ SQLite database for persistent storage
- π Dark/Light theme
- π German/English switchable
- .NET 10.0 SDK or higher
cd MathTrainerDotNet
dotnet restore
dotnet run --project MathTrainerDotNetThe application is available at http://localhost:5000.
Alternatively, you can use the official Docker image.
Directly with Docker:
docker run -d -p 8080:80 -v mathtrainer-data:/app/data shinjisan/mathtrainerdotnet:latestWith Docker Compose (Production setup):
Use docker-compose.prod.yml to easily start the application:
DOCKERHUB_USERNAME=shinji-san VERSION=latest docker compose -f docker-compose.prod.yml up -dThe application will be available at http://localhost:8080.
dotnet testMathTrainerDotNet/
βββ MathTrainerDotNet.slnx # Solution file (SLNX format)
βββ Dockerfile # Docker configuration
βββ docker-compose.yml # Docker Compose setup
βββ README.md
β
βββ MathTrainerDotNet/ # Main application project
β βββ Components/
β β βββ Pages/
β β β βββ Home.razor
β β β βββ HomeComponents/ # Sub-components for Home page
β β βββ App.razor
β β βββ Routes.razor
β βββ Data/
β β βββ Helper/
β β βββ AppDbContext.cs
β βββ Models/
β β βββ Exercise.cs
β β βββ ExerciseSet.cs
β β βββ OperationType.cs
β β βββ Student.cs
β βββ Resources/
β β βββ Strings.resx
β β βββ Strings.de.resx
β β βββ Strings.en.resx
β βββ Services/
β β βββ Backup/ # SQLite Backup & Restore
β β βββ Format/ # Date formatting
β β βββ Id/ # Public ID generation
β β βββ Localization/ # Multi-language support
β β βββ Pdf/ # PDF generation (QuestPDF)
β β βββ Repository/ # Data access layer
β β βββ ExerciseGeneratorService.cs # Core business logic
β βββ ViewModels/
β β βββ ExerciseSetViewModel.cs
β β βββ ExerciseViewModel.cs
β βββ wwwroot/css/
β βββ app.css
β
βββ MathTrainerDotNetTest/ # Unit test project
βββ Models/
βββ Services/
βββ ViewModels/
- ASP.NET Core 10.0 with Blazor Server
- Entity Framework Core 10.0 with SQLite
- QuestPDF for PDF generation
- xUnit for unit testing
- Moq for mocking
MIT License - Free to use and modify. MIT-Lizenz - Frei zur Verwendung und Modifikation.

