Codebase

Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.

Getting Started Commands

Project Structure

Below is a short description of the key directories of the project to aid you when understanding where key files are located.

.github/ - This directory contains GitHub-specific configuration files and workflows for the project.
.github/workflows/ - GitHub Actions workflow files that define the continuous integration and deployment pipelines for the project.
.vscode/ - Contains Visual Studio Code settings and extensions used for developing the project.
assets/ - Holds various static files used by the project, such as images, icons, and documentation files.
assets/logo/ - Subdirectory containing project logos and icons.
samples/ - Contains example projects and usage scenarios for the Vogen.Serialization library.
samples/Vogen.Examples.JsonNet/ - A subdirectory of samples dedicated to examples using the JsonNet serialization library.
samples/Vogen.Examples.JsonNet/JsonNetExamples/ - Holds example files demonstrating the usage of JsonNet serialization.
samples/Vogen.Examples.SystemTextJson/ - A subdirectory of samples dedicated to examples using the SystemTextJson serialization library.
samples/Vogen.Examples.SystemTextJson/SystemTextJsonExamples/ - Holds example files demonstrating the usage of SystemTextJson serialization.
src/ - The main source code directory for the project.
src/Vogen.Serialization.JsonNet/ - Subdirectory containing the source code for the JsonNet serialization implementation of the Vogen.Serialization library.
src/Vogen.Serialization.SystemTextJson/ - Subdirectory containing the source code for the SystemTextJson serialization implementation of the Vogen.Serialization library.
tests/ - Contains the unit tests and benchmarks for the project.
tests/Benchmarks/ - Subdirectory containing performance benchmarks for the Vogen.Serialization library.
tests/Benchmarks/JsonNet/ - Contains benchmarks specifically for the JsonNet serialization implementation.
tests/Benchmarks/Properties/ - Contains benchmarks for testing the properties of the serialization library.
tests/Benchmarks/SystemTextJson/ - Contains benchmarks specifically for the SystemTextJson serialization implementation.
tests/Vogen.Serialization.TestTypes/ - Contains test types and helper classes used in the unit tests.
tests/Vogen.Serialization.UnitTests/ - Subdirectory containing the unit tests for the Vogen.Serialization library.
tests/Vogen.Serialization.UnitTests/JsonNetTests/ - Contains unit tests specifically for the JsonNet serialization implementation.
tests/Vogen.Serialization.UnitTests/SystemTextJsonTests/ - Contains unit tests specifically for the SystemTextJson serialization implementation.

Entrypoints

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

/samples/Vogen.Examples.JsonNet/Program.cs - This file contains the entry point for the JSON.NET example usage of the Vogen serialization library.
/samples/Vogen.Examples.SystemTextJson/Program.cs - This file contains the entry point for the System.Text.Json example usage of the Vogen serialization library.
/tests/Benchmarks/Program.cs - This file contains the entry point for the benchmark tests of the Vogen serialization library.