Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ TCSystemCS is a collection of reusable .NET libraries written in **C# 14** targe
├── MetaDataDB/ → TCSystem.MetaDataDB (SQLite metadata storage)
│ └── Tests/ → TCSystem.MetaDataDB.Tests (NUnit)
├── Thread/ → TCSystem.Thread (worker thread, async helpers)
│ └── Tests/ → TCSystem.Thread.Tests (NUnit)
├── Util/ → TCSystem.Util (extension methods, utilities)
│ └── Tests/ → TCSystem.Util.Tests (NUnit)
└── Tools/
├── DBConverter/ → Console app – database schema converter
└── TakeoutReader/→ Console app – Google Takeout importer
Expand Down
8 changes: 8 additions & 0 deletions Gps/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# TCSystem.Gps

[![NuGet](https://img.shields.io/nuget/v/TCSystem.Gps.svg)](https://www.nuget.org/packages/TCSystem.Gps/)

Reader for GPS data from Google Takeout location history files (`records.json`). Uses `System.Text.Json` with async streaming for efficient processing of large files.

## Installation

```bash
dotnet add package TCSystem.Gps
```

## Features

- Async streaming reader for Google Takeout `records.json`
Expand Down
8 changes: 8 additions & 0 deletions Logging/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# TCSystem.Logging

[![NuGet](https://img.shields.io/nuget/v/TCSystem.Logging.svg)](https://www.nuget.org/packages/TCSystem.Logging/)

Wraps [Serilog](https://serilog.net/) behind an abstract `Logger` class where debug logging is **not compiled** into your code when building in Release mode (using `[Conditional("DEBUG")]`).

## Installation

```bash
dotnet add package TCSystem.Logging
```

## Features

- Abstract `Logger` class with conditional debug logging
Expand Down
8 changes: 8 additions & 0 deletions MetaData/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# TCSystem.MetaData

[![NuGet](https://img.shields.io/nuget/v/TCSystem.MetaData.svg)](https://www.nuget.org/packages/TCSystem.MetaData/)

Classes for handling and storing image metadata including date/time, GPS location, and face/person tags. Supports JSON serialization via Newtonsoft.Json.

## Installation

```bash
dotnet add package TCSystem.MetaData
```

## Features

- Immutable data models for image metadata
Expand Down
8 changes: 8 additions & 0 deletions MetaDataDB/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# TCSystem.MetaDataDB

[![NuGet](https://img.shields.io/nuget/v/TCSystem.MetaDataDB.svg)](https://www.nuget.org/packages/TCSystem.MetaDataDB/)

SQLite database abstraction for storing, querying, and filtering image metadata. Provides thread-safe access through an instance-pooling pattern.

## Installation

```bash
dotnet add package TCSystem.MetaDataDB
```

## Features

- SQLite-based persistent storage for image metadata
Expand Down
19 changes: 8 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,14 @@ A collection of reusable .NET libraries for logging, image metadata management,

## Libraries

### [TCSystem.Util](Util/README.md)

### [TCSystem.Logging](Logging/README.md)

### [TCSystem.MetaData](MetaData/README.md)

### [TCSystem.MetaDataDB](MetaDataDB/README.md)

### [TCSystem.Gps](Gps/README.md)

### [TCSystem.Thread](Thread/README.md)
| Package | NuGet |
|---------|-------|
| [TCSystem.Util](Util/README.md) | [![NuGet](https://img.shields.io/nuget/v/TCSystem.Util.svg)](https://www.nuget.org/packages/TCSystem.Util/) |
| [TCSystem.Logging](Logging/README.md) | [![NuGet](https://img.shields.io/nuget/v/TCSystem.Logging.svg)](https://www.nuget.org/packages/TCSystem.Logging/) |
| [TCSystem.MetaData](MetaData/README.md) | [![NuGet](https://img.shields.io/nuget/v/TCSystem.MetaData.svg)](https://www.nuget.org/packages/TCSystem.MetaData/) |
| [TCSystem.MetaDataDB](MetaDataDB/README.md) | [![NuGet](https://img.shields.io/nuget/v/TCSystem.MetaDataDB.svg)](https://www.nuget.org/packages/TCSystem.MetaDataDB/) |
| [TCSystem.Gps](Gps/README.md) | [![NuGet](https://img.shields.io/nuget/v/TCSystem.Gps.svg)](https://www.nuget.org/packages/TCSystem.Gps/) |
| [TCSystem.Thread](Thread/README.md) | [![NuGet](https://img.shields.io/nuget/v/TCSystem.Thread.svg)](https://www.nuget.org/packages/TCSystem.Thread/) |


## Tools
Expand Down
8 changes: 8 additions & 0 deletions Thread/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# TCSystem.Thread

[![NuGet](https://img.shields.io/nuget/v/TCSystem.Thread.svg)](https://www.nuget.org/packages/TCSystem.Thread/)

Thread helper classes including a worker thread that queues commands and executes them in order. Supports async `Task`-based APIs and cancellation tokens.

## Installation

```bash
dotnet add package TCSystem.Thread
```

## Features

- Worker thread with command queue (FIFO execution)
Expand Down
8 changes: 8 additions & 0 deletions Util/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# TCSystem.Util

[![NuGet](https://img.shields.io/nuget/v/TCSystem.Util.svg)](https://www.nuget.org/packages/TCSystem.Util/)

Lightweight extension methods for containers, enumerables, and common patterns such as null-safe equality comparisons.

## Installation

```bash
dotnet add package TCSystem.Util
```

## Features

- Extension methods for collections and enumerables
Expand Down
Loading