Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document code structure in root readme #2220

Merged
merged 7 commits into from
May 20, 2020
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,31 @@ with any additional questions or comments.

Get up and running quickly using our documentation at <https://aka.ms/fluid>.

## Directory Structure

_Coming soon._
## Code Structure

The core code is built into several large chunks ("minirepos", managed using Lerna) which are versioned separately from one another, but internally all packages in a minirepo are versioned together. And outside the minirepos there are plenty of packages which are versioned independently.
markfields marked this conversation as resolved.
Show resolved Hide resolved

Here's the breakdown of the repo:

* Fluid Framework Client Minirepo ([lerna.json](./lerna.json))
markfields marked this conversation as resolved.
Show resolved Hide resolved
* [Packages](./packages)
* [Example Components](./components/examples)
* [Experimental Components](./components/experimental)
* [Example host](./examples/hosts/iframe-host)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a prototype for hosting in an iframe, i would put this below with other example hosts

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But for some reason it's included in the client minirepo lerna.json. @curtisman

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anthony-murphy - Actually looks like you're the one who added it to lerna.json. Was there a reason you wanted it building/versioned with packages instead of standing alone?

https://github.com/microsoft/FluidFramework/pull/1328/files#diff-52d4bf43db96176e77cc9038a78f98e1

* Reference Service ("Routerlicious") Minirepo ([dir](./server/routerlicious) | [lerna.json](server/routerlicious/lerna.json))
* [Packages](./server/routerlicious/packages)
* Common Packages
* [Common Definitions](./common/lib/common-definitions)
* [Common Utils](./common/lib/common-utils)
* Internal/Misc Packages
* [Build Common](./common/build/build-common)
* [ESlint Config](./common/build/eslint-config-fluid)
* Other Example Hosts
* [Electron Host](./examples/hosts/electron-host)
* [Literate](./examples/hosts/literate)
* [Docs](./docs)
* [Tools](./tools)
* [Other Server Packages](./server) (excluding [Routerlicious](./server/routerlicious) itself)

## Building

Expand Down
3 changes: 3 additions & 0 deletions common/build/eslint-config-fluid/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ESlint Config

_Coming soon..._
2 changes: 1 addition & 1 deletion common/lib/common-definitions/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Fluid Common Definitions

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would prefer "Sentence casing" instead of "Title Casing". But really, shouldn't this be the name of the package itself?

Copy link
Member Author

@markfields markfields May 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I like using the package name. Once we rev our package names to use the @fluidframework scope I'll make a pass and ensure there's a readme alongside every package.json with the package name as the title.

Common interfaces and definitions used in Fluid Framework
Common interfaces and definitions used in Fluid Framework
3 changes: 2 additions & 1 deletion common/lib/common-utils/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
This package contains code for common utilities used by Fluid Framework
# Fluid Common Utils

Common utilities used by Fluid Framework
3 changes: 3 additions & 0 deletions components/examples/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Example Components

_Coming soon..._
3 changes: 3 additions & 0 deletions components/experimental/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Experimental Components

_Coming soon..._
3 changes: 3 additions & 0 deletions examples/hosts/electron-host/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Fluid Example Electron Host

_Coming soon..._
3 changes: 3 additions & 0 deletions examples/hosts/iframe-host/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Fluid Example IFrame Host

_Coming soon..._
10 changes: 5 additions & 5 deletions examples/hosts/literate/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
uid: loaders
uid: loaders
markfields marked this conversation as resolved.
Show resolved Hide resolved
---

# Literate Fluid Loader
Expand All @@ -16,7 +16,7 @@ of code.
## Build steps

The first (and hardest) step to get up and running is to authenticate against the Fluid private npm feed. To do so
navigate to https://offnet.visualstudio.com/officenet/_packaging?feed=prague&_a=feed, click the "Connect to feed" link,
navigate to <https://offnet.visualstudio.com/officenet/_packaging?feed=prague&_a=feed>, click the "Connect to feed" link,
choose "npm" and then follow the instructions.

Once you've done that getting up and running is simple.
Expand All @@ -26,11 +26,11 @@ npm install
npm start
```

Then navigate to http://localhost:8080. This will redirect you to http://localhost:8080/example but you can change
Then navigate to <http://localhost:8080.> This will redirect you to <http://localhost:8080/example> but you can change
'example' to any string you'd like and a new document will be created under that name. By default a new Flow View
will be created but by specifying the chaincode query parameter any of the packages on
https://packages.wu2.prague.office-int.com can be loaded - i.e.
http://localhost:8080/new-document?chaincode=@chaincode/tourofheroes@0.0.5918.
<https://packages.wu2.prague.office-int.com> can be loaded - i.e.
<http://localhost:8080/new-document?chaincode=@chaincode/tourofheroes@0.0.5918.>

## The Code

Expand Down
23 changes: 23 additions & 0 deletions packages/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Fluid Framework Client Core Packages

_Details coming soon..._

[agents](./agents) ...

[drivers](./drivers) ...

[framework](./framework) ...

[hosts](./hosts) ...

[loader](./loader) ...

[runtime](./runtime) ...

[server](./server) ...

[test](./test) ...

[tools](./tools) ...

[utils](./utils) ...
4 changes: 3 additions & 1 deletion server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ This directory contains our reference server implementation. [Routerlicious](./r

[Charts](./charts) Kubernetes charts for the micro-services

[Gateway](./gateway) Internal landing page for Fluid, hosts Waterpark

[Gitrest](./gitrest) provides a REST API to a GitHub repository. It's API is based off of GitHub's REST APIs.

[Gitssh](./gitssh) is a git ssh server client container.
Expand All @@ -20,7 +22,7 @@ This directory contains our reference server implementation. [Routerlicious](./r

[Routerlicious](./routerlicious) composed reference server implementation

[Service](./service) Experimental routerlicious with faster throughput
[Tinylicious](./tinylicious) Light-weight monolithic server implementation

## Build Status

Expand Down
23 changes: 23 additions & 0 deletions tools/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Fluid Framework Tools Dir

_Details coming soon..._

[build-server-resources](./build-server-resources) ...

[fluid-build-tools](./fluid-build-tools) ...

[fluid-metrics](./fluid-metrics) ...

[fluidpreview-intercept](./fluidpreview-intercept) ...

[generator-fluid](./generator-fluid) Yo generator for creating a new Fluid Component

[getkeys](./getkeys) ...

[headless-chrome](./headless-chrome) ...

[logger](./logger) ...

[repo-policy-check](./repo-policy-check) ...

[search-content-extractor](./search-content-extractor) ...