horizon-docs icon indicating copy to clipboard operation
horizon-docs copied to clipboard

Write Tutorial

Open danielmewes opened this issue 9 years ago • 7 comments
trafficstars

We currently have a quick start document https://github.com/rethinkdb/horizon-docs/blob/master/quickstart.md , but no real tutorial yet ( https://github.com/rethinkdb/horizon-docs/blob/master/tutorial/1-start.md )

danielmewes avatar May 11 '16 18:05 danielmewes

@danielmewes, so far we have the Getting Started guide in the Horizon repo.

We need to add this to the docs repo.

mglukhovsky avatar May 11 '16 19:05 mglukhovsky

Oh the "Getting Started" guide is quite nice.

I think the original intention behind the "tutorial" was something a bit more extensive where we write a full application. That's probably going to be more work.

I think we should put the current "Getting Started" guide into the quickstart. It looks like quickstart used to be the same as the Getting Started guide, but the latter has since been extended?

danielmewes avatar May 11 '16 23:05 danielmewes

I'd like to check this with @chipotle though, since there might have been some different intentions behind these documents or things he has improved in the quickstart that aren't reflected in the Getting Started guide.

danielmewes avatar May 11 '16 23:05 danielmewes

They're meant to be similar documents, but I didn't intend to put the OAuth stuff in the QuickStart documentation, instead linking to the authentication document for that. Most of what's in Getting Started other than that should be in QuickStart already, although arranged differently and with some stylistic changes.

chipotle avatar May 12 '16 00:05 chipotle

It looks like only the "Getting started with Horizon client" section from https://github.com/rethinkdb/horizon/blob/next/GETTING-STARTED.md wasn't in the docs yet. It is now at https://github.com/rethinkdb/horizon-docs/blob/master/getting-started.md

That's enough for the 1.0 launch.

I think we should still have a more extensive tutorial later.

danielmewes avatar May 15 '16 05:05 danielmewes

@segphault is working on a basic tutorial that covers permissions and building a basic app.

@segphault: do you think the [Getting started] guide would overlap with the outline for the tutorial you're writing? Could you post the outline you're planning?

mglukhovsky avatar Jun 16 '16 20:06 mglukhovsky

There are some differences in scope between the tutorial that I'm working on and the Getting Started guide. The tutorial will include:

  • Building a social bookmark application with these features:
    • Users can add/edit/remove their own bookmarks
    • Users can share bookmarks into a public stream
    • Unauthenticated users can see public bookmarks
  • It uses the following Horizon capabilities:
    • Authentication
      • hasAuthToken
      • currentUser
      • authEndpoint redirect
    • Permissions
      • Templates and validators that do the following:
        • Allow unauthenticated users to fetch public data
        • Ensure private data is only accessible to its owner
        • Allow users to update and delete their own data
    • Queries
      • findAll with order/limit
      • store
      • replace
      • remove
  • Tutorial will additionally cover:
    • Writing the schema.toml and applying it from the command line
    • Using the auth methods and queries in a VueJS app
  • The tutorial will not cover:
    • Step-by-step walkthrough of installing horizon and using hz init
    • Complete coverage of the relevant options in config.toml setup
    • Steps for generating and configuring the OAuth provider token

The TL;DR is that the tutorial is an application-focused introduction to using Horizon with permissions and authentication. It doesn't cover the basic setup, which I think is better left for documentation.

segphault avatar Jun 16 '16 23:06 segphault