From 88fc9a254fc9fca95566ce9625cf96a97c05fc16 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 18 Apr 2023 18:56:20 +0200 Subject: add project overview (fixes #7373) --- taler-developer-manual.rst | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) (limited to 'taler-developer-manual.rst') diff --git a/taler-developer-manual.rst b/taler-developer-manual.rst index 49ffa250..654b7e7b 100644 --- a/taler-developer-manual.rst +++ b/taler-developer-manual.rst @@ -34,6 +34,85 @@ Developer's Manual .. contents:: Table of Contents +Project Overview +================ + +GNU Taler consists of a large (and growing) number of components +in various Git repositories. The following list gives a first +overview: + + * exchange: core payment processing logic with a REST API, plus various + helper processes for interaction with banks and cryptographic + computations. Also includes the logic for the auditor and an + in-memory "bank" API implementation for testing. + + * libeufin: implementation of the "bank" API using the EBICS protocol + used by banks in the EU. Allows an exchange to interact with + European banks. + + * deploymerization: implementation of the "bank" API on top of + blockchains, specifically Bitcoin and Ethereum. Allows an exchange + to interact with crypto-currencies. + + * merchant: payment processing backend to be run by merchants, + offering a REST API. + + * wallet-core: platform-independent implementation of a wallet to be run by + normal users. Includes also the WebExtension for various browsers. + Furthermore, includes various single-page apps used by other + components (especially as libeufin and merchant). Also includes + command-line wallet and tools for testing. + + * taler-android: Android Apps including the Android wallet, the + Android point-of-sale App and the Android casher app. + + * taler-ios: iOS wallet App. + + * sync: backup service, provides a simple REST API to allow users to + make encrypted backups of their wallet state. + + * anastasis: key escrow service, provides a simple REST API to allow + users to distribute encryption keys across multiple providers and + define authorization policies for key recovery. + + * taler-mdb: integration of Taler with the multi-drop-bus (MDB) API + used by vending machines. Allows Taler payments to be integrated + with vending machines. + + * gnu-taler-payment-for-woocommerce: payment plugin for the + woocommerce (wordpress) E-commerce solution. + + * twister: man-in-the-middle proxy for tests that require fuzzing a + REST/JSON protocol. Used for some of our testing. + + * challenger: implementation of an OAuth 2.0 provider that can be used + to verify that a user can receive SMS or E-mail at particular addresses. + Used as part of KYC processes of the exchange. + + * taler-mailbox: messaging service used to store and forward payment + messages to Taler wallets. + + * taldir: directory service used to lookup Taler wallet addresses for + sending invoices or payments to other wallets. + + * taler-merchant-demos: various demonstration services operated at + 'demo.taler.net', including a simple shop, donation page and a + survey with tipping functionality. + +There are other important repositories without code, including: + + * gana: Hosted on git.gnunet.org, this repository defines various + constants used in the GNU Taler project. + + * docs: documentation, including this very document. + + * marketing: various presentations, papers and other resources for + outreach. + + * large-media: very large data objects, such as videos. + + * www: the taler.net website. + Fundamentals ============ -- cgit v1.2.3