feat: add more gotsrpc docs

This commit is contained in:
Jan Halfar 2023-04-21 23:00:26 +02:00
parent e3b9042f6e
commit fdfec49869
17 changed files with 40 additions and 13 deletions

View File

@ -1,6 +1,6 @@
# CMS
The foomo team has extensive experience with a wide range of CMS systems. Our long journey in the field has brought us very close to the https://jamstack.org . We almost exclusively work with https://app.contentful.com/ but we are watching others like https://www.stripe.com/ very closely.
The foomo team has extensive experience with a wide range of CMS systems. Our long journey in the field has brought us very close to the https://jamstack.org . We almost exclusively work with https://app.contentful.com/ but we are watching others like https://strapi.io/ and https://directus.io/ very closely.
## Expectations and challenges
@ -28,12 +28,12 @@ Let us take a look at a real world example:
| application route / ingress | app developers view | SEO URL requirement |
|:----------------------------|:---------------------|:-----------------------------------|
| /content:id | /content/1 | / |
| /content/:id | /content/1 | / |
| | /content/2 | /mens |
| /category:id | /category/1 | /mens/shirts |
| /category/:id | /category/1 | /mens/shirts |
| | /category/2 | /mens/shirts/business |
| /product:id | /product/1 | /mens-shirt-awesome-blue-medium |
| /store:id | /store/1 | /mens/stores/london-perfect-shirts |
| /product/:id | /product/1 | /mens-shirt-awesome-blue-medium |
| /store/:id | /store/1 | /mens/stores/london-perfect-shirts |
| | /store/2 | /kids/stores/lego-paradise |
## our approach

View File

@ -1,5 +0,0 @@
# Getting started
- install `gotsrpc` [cli](cli)
- clone and play with the [playground](playground)
- follow [workflow](workflow) instructions

View File

@ -0,0 +1,3 @@
{
"position" : 2
}

View File

@ -0,0 +1,20 @@
---
sidebar_position: 1
---
# Getting started
- clone and play with the [playground](playground)
- follow [workflow](workflow) instructions
- understanding the very simple [RPC protocol](protocol) will not hurt
## When using TypeScript clients
- implement a [TypeScript client transport](client-transport)
## When writing Go services
- install `gotsrpc` [cli](cli)
- define and implement [services interfaces](service-interfaces)
- configure your code generation [gotsrpc.yaml](cli/gotsrpc.yaml)

View File

@ -0,0 +1,3 @@
{
"position" : 4
}

View File

@ -1,3 +1,6 @@
---
sidebar_position: 1
---
# Value Objects
Typically value objects will be serialized / marshalled as JSON. Please refer to this documentation:

View File

@ -1,15 +1,18 @@
---
sidebar_position: 3
---
# Workflow
## Initial setup in a project
- define a central place for your Go service interface definitions
- define a central place where your TypeScript client code will be generated to
- create one central [`gotsrpc.yaml`](gotsrpc.yaml)
- create one central [`gotsrpc.yaml`](cli/gotsrpc.yaml)
- implement a TypeScript [`transport`](client-transport) for your project
## Per service
1. define [service interfaces](service-interfaces) in Go
2. configure code generation in [`gotsrpc.yaml`](gotsrpc.yaml)
2. configure code generation in [`gotsrpc.yaml`](cli/gotsrpc.yaml)
3. generate service proxies and client with [`gotsrpc` cli](cli)
4. go to 1.

View File

@ -25,7 +25,7 @@ const config = {
({
docs: {
sidebarPath: require.resolve('./sidebars.js'),
sidebarCollapsed: false,
sidebarCollapsed: true,
editUrl: 'https://github.com/foomo/foomo-docs/tree/main/foomo',
},
blog: {