Skip to content

Library for building distributed, real-time collaborative web applications

License

Notifications You must be signed in to change notification settings

AmitBRD/FluidFramework

Repository files navigation

Prague

Prague

Prague enables distributed, collaborative applications by providing developers with eventually consistent Distributed Data Structures, a flexible component and app model ("Chaincode"), and a reference server implementation with minimal COGS ("Routerlicious.")

Teams are using Prague for low latency collaboration, zero setup data persistance, and on-by-default cross app compatibility. Among other projects, our partner teams are building components for text editing, gaming, command line tooling, and IoT.

Build with Prague

Use Yo Fluid to get set up quickly after cloning the Prague repo.

First, do these one time steps:

npm install -g yo

cd .../Prague/tools/generator-fluid

npm install
npm link

Yo Fluid is now ready. Try it!

yo @prague/fluid

Chaincode has additional examples of building components with Prague.

* For Yo Fluid setup issues: Unauthorized - Stack Overflow

Adding a package

Update Dockerfile with a reference to your package.json.

Update rush with a reference to your package name.

Documentation

Fluid Docs is our alpha version of our documentation and tutorial website.

Stack Overflow

The Prague team answers questions on the Microsoft internal StackOverflow using the tag Prague

FAQ

Demo Videos

Prague Highlight Reel

Translations

Yo Fluid (Prague Getting Started)

All Demos


Source Code Overview

Samples/Chaincode contains our latest component and chaincode demos. This is the right place to get started checking out the world of Prague.

Packages contains the core Fluid runtime

  • Loader startup code that loads Fluid container
  • Runtime core Fluid runtime definition and distributed data structures
  • Framework base classes and interfaces for Fluid Framework that implements basic default behavior of components and containers.
  • Drivers contains the drivers targeting different server implementation endpoints (e.g. Routerlicious and ODSP)
  • Components contains the component mechanism that enable components to be built on top of the Fluid runtime. It also contains the sample Flow and Table components.
  • Server (To be moved to server directory) contains libraries for the reference implementation of the core server services

Server contains the reference server implementation Routerlicious

Docs is the documentation source for Fluid Docs

Further Reading

Architectural design principals can be found in the Fluid documentation.

Developers looking to make deep/advanced Prague changes can find our latest implementations in Routerlicious.

Samples/legacy folder contains a set of legacy prototypes around a collaborative canvas. As well as MUIs that load within the browser or within an enlightened host.

Build Status

Project Status
Packages API Build Status
Routerlicious Routerlicious Build Status
Admin Admin Build Status
Auspkn Auspkn Build Status
Historian Historian Build Status
Historian Chart Historian Chart Build Status
Cobalt Gitresources Build Status
GitSSH GitSSH Build Status
GitRest GitRest Build Status
Headless Chrome Headless Chrome Build Status
Prague metrics Metrics Build Status
Prague metrics chart Prague Metrics Chart Build Status

Deployment Regions

To ensure minimal latency and smoother user experience, we deploy our backend in a few different Azure regions. If you are closer to west coast, use the following endpoints located at Washington:

Our code is deployed immediately after check in to:

East coast developers are encouraged to use the following endpoints(located at Virginia):

Developers in Europe can use the following endpoints (Located at Netherlands):

About

Library for building distributed, real-time collaborative web applications

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.3%
  • JavaScript 1.9%
  • Other 0.8%