Skip to content

Commit 1e81f2b

Browse files
committed
fix README.md
1 parent 7135505 commit 1e81f2b

1 file changed

Lines changed: 33 additions & 22 deletions

File tree

README.md

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,57 +13,68 @@ SPDX-License-Identifier: MIT
1313

1414
[Diffo](https://github.com/diffo-dev/diffo) is a Telecommunications Management Forum (TMF) Service and Resource Manager, built for autonomous networks.
1515

16-
This repo contains two independent example domains, each modelling a different slice of a telco network.
16+
This repo contains two independent example domains, plus an orientation to the underlying Diffo Provider primitives. Read in this order:
1717

18-
## NBN Domain
18+
1. **[The Access Domain](documentation/domains/access.md)** — the warm-up. A single fictional telco delivering DSL service over copper to its own customers. Five resources, one service, a small state machine. Walks the pattern end-to-end.
19+
2. **[The Provider Domain](documentation/domains/provider.md)** — lifts the lid on the primitives Access has been using the whole time (Specification, Instance, typed Characteristics, Pools, Assignments, Relationships, Place, Party, state machine, the TMF JSON encoder).
20+
3. **[The NBN Domain](documentation/domains/nbn.md)** — the deeper case. A fictional wholesale broadband network shared by many Retail Service Providers. Adds multi-tenancy via Ash Policy, a longer delivery chain, and the named-vs-metrics characteristic pattern with cross-resource inheritance.
1921

20-
A declarative model of a fictional NBN Ethernet access hierarchy — NbnEthernet, UNI, AVC, NTD, CVC, NNI Group, and NNI — built entirely with the Diffo Provider Instance DSL. Includes multi-tenancy via Ash Policy: each RSP can only see and manage the resources they own.
22+
Each domain ships with a runnable livebook.
2123

22-
[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fgithub.com%2Fdiffo-dev%2Fdiffo_example%2Fblob%2Fdev%2Fdocumentation%2Fdomains%2Fdiffo_example_nbn.livemd)
24+
## Access Livebook
2325

24-
The livebook walks through provisioning a complete NBN Ethernet access circuit, selecting an RSP to operate as, and demonstrating how the `mine` actions propagate technology, speeds, CVLAN, and port assignments up the resource hierarchy.
26+
[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fgithub.com%2Fdiffo-dev%2Fdiffo_example%2Fblob%2Fmain%2Fdocumentation%2Fdomains%2Fdiffo_example_access.livemd)
2527

26-
## Access Domain
28+
End-to-end scenario through the code-interface — exchange shelf with line cards, a customer access path through copper, qualify and design a DSL service for the subscriber, then read the inheritance chain.
2729

28-
A copper-network equivalent covering DSL access services — Cable, Card, Path, and Shelf. Explore `lib/access/` for the domain model.
30+
## NBN Livebook
31+
32+
[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fgithub.com%2Fdiffo-dev%2Fdiffo_example%2Fblob%2Fmain%2Fdocumentation%2Fdomains%2Fdiffo_example_nbn.livemd)
33+
34+
The wholesale story — pick an RSP, build the shareable NNI Group / CVC, provision a subscriber's NBN Ethernet access end-to-end, then read the full delivery chain through inheritance and the live metrics on each resource.
35+
36+
## API reference (auto-generated)
37+
38+
- [Access Domain API](documentation/domains/_access_api.md) — every code-interface function on `DiffoExample.Access`.
39+
- [NBN Domain API](documentation/domains/_nbn_api.md) — every code-interface function on `DiffoExample.Nbn`.
40+
41+
Both are regenerated from the domain DSL with `mix gen.api_docs`.
2942

3043
## Installation
3144

32-
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
33-
by adding `diffo_example` to your list of dependencies in `mix.exs`:
45+
The package can be installed by adding `diffo_example` to your list of dependencies in `mix.exs`:
3446

3547
```elixir
3648
def deps do
3749
[
38-
{:diffo_example, "~> 0.0.2"}
50+
{:diffo_example, "~> 0.2"}
3951
]
4052
end
4153
```
4254

43-
You need [Neo4j](https://github.com/neo4j/neo4j) available. We recommend the Neo4j Community 5 latest, available at [Neo4j Deploymnent Centre](https://neo4j.com/deployment-center/) which can be installed locally. You can also configure connection to a cloud based database service such as [Neo4j AuraDB](https://neo4j.com/product/auradb/).
55+
You need [Neo4j](https://github.com/neo4j/neo4j) available. We recommend the Neo4j Community 5 latest, available at the [Neo4j Deployment Centre](https://neo4j.com/deployment-center/) which can be installed locally. You can also configure connection to a cloud-based database service such as [Neo4j AuraDB](https://neo4j.com/product/auradb/).
4456

4557
## Contributions
4658

47-
Contributions are welcome, please start with an [issue](https://github.com/diffo-dev/diffo_example/issues)
59+
Contributions are welcome, please start with an [issue](https://github.com/diffo-dev/diffo_example/issues).
4860

4961
## Acknowledgements
5062

5163
Thanks to my colleagues in the Telco industry.
5264

5365
Thanks to the vibrant Elixir and Ash communities, and in particular the [Ash Core](https://github.com/ash-project) for [ash](https://github.com/ash-project/ash) 🚀
5466

55-
Thanks to [Florin Patrascu](https://github.com/florinpatrascu) for [bolt_sips](https://github.com/florinpatrascu/bolt_sips) and[Luis Sagastume](https://github.com/sagastume) for [boltx](https://github.com/sagastume/boltx), both forerunners of [bolty](https://github.com/diffo-dev/bolty) the bolt driver for neo4j.
67+
Thanks to [Florin Patrascu](https://github.com/florinpatrascu) for [bolt_sips](https://github.com/florinpatrascu/bolt_sips) and [Luis Sagastume](https://github.com/sagastume) for [boltx](https://github.com/sagastume/boltx), both forerunners of [bolty](https://github.com/diffo-dev/bolty) the Bolt driver for Neo4j.
5668

5769
Thanks to the [Neo4j Core](https://github.com/neo4j) for [neo4j](https://github.com/neo4j/neo4j) and pioneering work on graph databases.
5870

5971
## Links
6072

61-
[Diffo TMF Service and Resource Manager](https://github.com/diffo-dev/diffo)
62-
[Diffo.dev](https://www.diffo.dev)
63-
[Ash Neo4j Datalayer](https://github.com/diffo-dev/ash_neo4j)
64-
[bolty](https://github.com/diffo-dev/bolty)
65-
[Neo4j Deployment Centre](https://neo4j.com/deployment-center/)
66-
[Ash Outstanding Extension](https://github.com/diffo-dev/ash_outstanding)
67-
[Outstanding Elixir Protocol](https://github.com/diffo-dev/outstanding)
68-
[TMF](https://www.tmforum.org)
69-
73+
- [Diffo TMF Service and Resource Manager](https://github.com/diffo-dev/diffo)
74+
- [Diffo.dev](https://www.diffo.dev)
75+
- [Ash Neo4j Datalayer](https://github.com/diffo-dev/ash_neo4j)
76+
- [bolty](https://github.com/diffo-dev/bolty)
77+
- [Neo4j Deployment Centre](https://neo4j.com/deployment-center/)
78+
- [Ash Outstanding Extension](https://github.com/diffo-dev/ash_outstanding)
79+
- [Outstanding Elixir Protocol](https://github.com/diffo-dev/outstanding)
80+
- [TMF](https://www.tmforum.org)

0 commit comments

Comments
 (0)