diff --git a/README.md b/README.md index a6e0aad..0103145 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# Digital Telepresence Sites +# Digital Telepresence Base -A content management and web hosting system based on the Digital Telepresence Platform. +The base project from which all others are forked when working with my framework and system. You don't have to start from this project at all. BUT, it can save you a lot of time by simply being a 100% compatible base on which you can build your apps and sites. ## Requirements -The only qualified operated system for hosting a DTP Sites suite is [Ubuntu 20.04 LTS](https://releases.ubuntu.com/20.04/). It is acceptable to run it in a virtual machine for development and testing, but it should be run as close to bare metal as can be had for production environments. +The only qualified operated system for hosting a DTP Base suite is [Ubuntu 20.04 LTS](https://releases.ubuntu.com/20.04/). It is acceptable to run it in a virtual machine for development and testing, but it should be run as close to bare metal as can be had for production environments. -You will need MongoDB and MinIO installed and running before you can start DTP Sites web services. +You will need MongoDB and MinIO installed and running before you can start DTP Base web services. 1. [Install MongoDB](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/) 2. [Install MinIO](https://docs.min.io/docs/minio-quickstart-guide.html) @@ -28,16 +28,16 @@ Install application dependencies by running Yarn. You should do this on initial yarn ``` -## Starting DTP Sites In Development Mode +## Starting DTP Base In Development Mode 1. Make sure `NODE_ENV` is set to `local` -2. Run `./sites-start-local` in a VS Code terminal, then rename that terminal to `services`. +2. Run `./start-local` in a VS Code terminal, then rename that terminal to `services`. 3. In a new VS Code terminal, run `gulp` and rename that terminal `gulp`. 4. Open https://localhost:3000 in your web browser. You can now make changes to program source code, and the environment will automatically respond, build, pack, and re-load things as needed depending on what you did and what's open/running. -DTP Sites is a multi-tier web hosting engine built on: +DTP Base is a multi-tier web hosting engine built on: - [MongoDB](https://www.mongodb.com/) - [Redis](https://redis.io/) @@ -87,4 +87,4 @@ Redis simply has many different documents to describe it's many different featur ## Software License -The Digital Telepresence Platform Sites engine is licensed under the [Apache 2.0](https://spdx.org/licenses/Apache-2.0.html) open source software license. See [LICENSE](LICENSE) for more information. \ No newline at end of file +The DTP Base and the Phoenix Engine are licensed under the [Apache 2.0](https://spdx.org/licenses/Apache-2.0.html) open source software license. See [LICENSE](LICENSE) for more information. \ No newline at end of file diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 0000000..0d8bfcd --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,40 @@ +# DTP System Architecture + +This is just a high-level explanation of the DTP system architecture so you can understand your node's place within it and how to get the most out of it. DTP is a Distributed Service Oriented Architecture. It is made of nodes. Some nodes have special capabilities that define the DTP Grid. + +OAuth2 is used heavily throughout the system to authenticate and authorize users to services. Services can then publish information about events. Those events can then become notifications. + +This is accomplished by establishing some nodes as Core nodes. A Core node has a user database, people sign up for accounts on it, it does things for them, and it is an OAuth2 provider. + +All other nodes are OAuth2 consumers that can ask any connected Core to authorize and authenticate people to then publish actions and create events on their network(s). + +## DTP Base +https://git.digitaltelepresence.com/digital-telepresence/dtp-base + +Base is the base project from which all others are derived. It implements the common development and service framework for this entire software platform. It also implements Kaleidoscope, the protocol the DTP network uses to share information about people and their events. + +## DTP Core +https://git.digitaltelepresence.com/digital-telepresence/dtp-core + +Core implements a user account database, notification system, global search, network message routing, core user account services, and it's community members' home page and home feed. Cores connect to each other to form a globally distributed and fully decentralized network of online communities that share information in real time. + +## DTP Venue + +Venue is DTP's live streaming and media hosting platform. It generates events when channels go live, upload new videos to their VoD library, finish a stream and have the episode appear on DVR, or post news updates. + +Venue is not an open source project because you do not want to try to operate a "Venue" instance. It is uncommon technology with uncommon requirements. DTP works with select partners who do contribute to the development, testing, and leading-edge use of Venue, but it is not an open project and does not accept public contributions. + +## DTP Sites +https://git.digitaltelepresence.com/digital-telepresence/dtp-sites + +Sites is the DTP blogging platform. People can easily create a website with us and publish pages and articles on it. Other people on our network can follow the whole site or specific authors on it. They will receive optional notifications and entries in their global feed when new articles are published or replies are received to their comments (for example). + +## DTP Social +https://git.digitaltelepresence.com/digital-telepresence/dtp-social + +Social is a simple open source social network designed to let people follow people and get their updates in real time. Social can route messages through Cores to other nodes just like anything else in the DTP ecosystem, making them incredibly powerful for quickly distributing information. + +## DTP Links +https://git.digitaltelepresence.com/digital-telepresence/dtp-liberty-links + +Links offers members a profile page where they can list various links. This gives them a very easy to use and straightforward landing page they can use to direct their audience to their various online destinations with some basic analytics. \ No newline at end of file