update docs, add infra notes

This commit is contained in:
41666 2020-12-06 00:41:37 -05:00
parent d93592f1a2
commit 344c6e1c52
2 changed files with 112 additions and 16 deletions

View file

@ -4,22 +4,29 @@ https://roleypoly.com
Tame your Discord roles.
### Need Help with Roleypoly?
## Need Help with Roleypoly? 💁‍♀️
📚 [Please read through our community documentation.](https://github.com/roleypoly/community-docs)
😕 [Still confused? Talk to us on Discord!](https://discord.gg/PWQUVsd)
## Developing
Roleypoly is a distributed system built with Go, React, Terraform, and Bazel.
Roleypoly is a distributed system built with TypeScript, React, Terraform, and Go.
This repo is currently being re-architected into a monorepo, so most processes might not be documented.
This app is heavily edge computing-based with the backend being deployed via Cloudflare Workers, UI server on Google Cloud Run with 6 regions, and the mention responder in Google Compute Engine.
### Extra Docs
- 👷‍♀️ [Getting Started](docs/getting-started.md)
- 🏭 [Infrastructure](docs/infrastructure.md)
- 🧾 [User Stories](docs/user-stories.md)
### Quickstart
This repo can be quickly setup with [VSCode Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) or [GitHub Codespaces](https://github.com/codespaces). This will setup a fully featured Docker container for developing VSCode, including extensions.
If you'd like to not use either of those, it can be imported into your Docker host with `bazel run //src/dev-container`, or pulled from either `roleypoly/dev-container:main` or `docker.pkg.github.com/roleypoly/roleypoly/dev-container:main`. This use case is not actively investigated, but with tinkering, will work. Feel free to document this process and open a PR :)
If you'd like to not use either of those, a dev toolkit image can be pulled from `ghcr.io/roleypoly/dev-container:main`. This use case is not actively investigated, but with tinkering, will work. Feel free to document this process and open a PR :)
### Developing Design System Components
@ -29,19 +36,22 @@ Run:
- `yarn` to install deps
- `yarn storybook` to open storybook
- `bazel test //src/design-system/....` to test
- `yarn test` to test
### Developing App UI
For working with the Next.js frontend components...
Run:
- `yarn` to install deps
- `yarn ui` to run Next.js dev server
- `yarn test` to test
### Developing Backend Components
This process is currently rough and in-flux. Please bear with us as we figure it out.
For working with Backend systems, you need Wrangler, and a setup script to help wtih config stuff :)
- `bazel run //src/<service>` to run the service
- note this commonly needs configuration from environment.
- `bazel test //src/<service>` to test
### Things to Know
Bazel can make some tasks far harder normal. Ideally, these are automated over.
- **Updating `go.mod`?**
- Run `go generate ./...`.
- `yarn setup-wrangler` to setup wrangler.toml
- `wrangler dev -e dev` to start a local preview deployment
- `yarn test` to test