Skip to content

kusl/tasktracker-2025-09-19

Repository files navigation

Build and Run Instructions

Prerequisites

  • .NET 9 SDK installed
  • Visual Studio 2022 or VS Code with C# extension

Building the Solution

# Navigate to the solution root directory
cd TaskTracker

# Restore NuGet packages
dotnet restore

# Build the solution
dotnet build

# Run tests
dotnet test

Running the Application

# Navigate to the console app project
cd src/TaskTracker.ConsoleApp

# Run the application
dotnet run

Using the Application

Once running, you can use these commands:

  • add <title> - Create a new todo item
  • list - Show all todo items
  • done <id> - Mark a todo as complete
  • delete <id> - Remove a todo item
  • exit - Quit the application

Database Files

The application creates two SQLite database files:

  1. task_tracker.db - Contains todo items and telemetry data (logs, spans)
  2. The database is automatically created on first run

Key Features Implemented

  1. Clean Architecture: Proper separation of concerns with Domain, Application, Infrastructure, and Presentation layers
  2. Dependency Injection: Full DI container setup using Microsoft.Extensions.DependencyInjection
  3. Entity Framework Core: SQLite database with code-first approach
  4. OpenTelemetry: Complete observability with:
    • Distributed tracing (Activities/Spans)
    • Structured logging
    • Custom SQLite exporters to persist telemetry
  5. Async/Await: All I/O operations are asynchronous
  6. Unit Testing: Comprehensive tests using xUnit and in-memory database
  7. Modern C# 13: File-scoped namespaces, top-level statements, nullable reference types
  8. Error Handling: Graceful exception handling throughout

This solution demonstrates production-quality patterns and practices for a .NET 9 console application with full observability and testing.

License

This project is open source and available under the AGPL license.


Notice: This project contains code generated by Large Language Models such as Claude and Gemini. All code is experimental whether explicitly stated or not.

About

this is just a test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published