Giter VIP home page Giter VIP logo

gedcomx-csharp's Introduction

Welcome

This project hosts the C# implementation of GEDCOM X and related extensions. The modules of this project each address specific aspects of the GEDCOM X Specification Set, including:

Data Models

The Gedcomx.Model subproject provides C# classes that correspond to the data types defined by the GEDCOM X Conceptual Model. These classes are instrumented such that they can be used to read and write both XML and JSON.

For more information about GEDCOM X data models, see the Gedcomx.Model module.

GEDCOM X Web Services

The Gedcomx.Rs.Api module provides support for reading from and writing to a GEDCOM X Web service API that conforms to the GEDCOM X RS Specification.

Reading and Writing XML and JSON

The [Gedcomx.File](./GEDCOM X File/README.md) subproject provides support for reading and writing the GEDCOM X File Format.

For more information about reading and writing GEDCOM X files, see [GEDCOM X File](./GEDCOM X File/README.md).

Note: The GEDCOM X File project is responsible for managing all reading and writing to and from XML or JSON, and is the module responsible for all API serialization.

GEDCOM X Extensions

The extensions module provides a place for extensions to GEDCOM X. FamilySearch has defined a set of extensions to the GEDCOM X Conceptual Model and to the GEDCOM X RS specification that comprise the definition of the FamilySearch API.

The FamilySearch API Client comprises the developer SDK for the FamilySearch API.

Use

Here's how you might use this project.

NuGet

The GEDCOM X C# artifacts are provided via NuGet.

There are a total of 7 packages, which you can use in anyway you need.

NuGet Package Id Purpose Notes
FamilySearch.API.SDK This is the main SDK library, and encompasses the ability to work with generic GEDCOM X and FamilySearch specific GEDCOM X data. This is the FamilySearch GEDCOM X SDK. Use this project to perform all GEDCOM X operations supported by FamilySearch, or generic GEDCOM X operations. If you're unsure which library to use, this is the one to use.
Gedcomx.Model Contains the models for GEDCOM X data. Use this by itself to just work with the GEDCOM X models and data, and not any web services or files.
Gedcomx.Model.Fs Contains FamilySearch specific GEDCOM X model extensions. Use this by itself to just work with the GEDCOM X FamilySearch extension models and data, and not any web services or files.
Gedcomx.Model.Rs Contains REST specific GEDCOM X model extensions. Use this by itself to just work with the GEDCOM X REST extension models and data, and not any web services or files. (This project adds atom feed models.)
Gedcomx.API.SDK This is the base SDK library, and encompasses the ability to work with GEDCOM X data. This is the core GEDCOM X SDK project. Use this to perform basic GEDCOM X operations.
Gedcomx.File Contains libraries to read and write GEDCOM X files and provides core serialization functionality for all web API communications. Use this by itself to support reading and writing GEDCOM X files (in XML format) or reading and writing GEDCOM X data in serialized format (JSON OR XML), such as in Web API methods.
Gedcomx.Date Contains libraries to work with a variety of GEDCOM X dates and formats. Use this by itself to support GEDCOM X date processing or manipulation.
Finding the Latest Version

To use the latest version of the libraries, visit the NuGet links above.

Build

Prerequisites:

Here's how you could build this project from source:

git clone https://github.com/FamilySearch/gedcomx-csharp.git
cd gedcomx-csharp
nuget restore
msbuild

gedcomx-csharp's People

Contributors

alexc155 avatar cutflame avatar misbach avatar peacemode avatar stoicflame avatar weitzhandler avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.