Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bn-digital/project-templates
NodeJS & TypeScript cloud-native application starter based on Strapi GraphQL Backend and React & Ant Design frontend, with deployment to K8S cluster
https://github.com/bn-digital/project-templates
antd docker helm kubernetes less nodejs parcel react strapi typescript
Last synced: about 2 months ago
JSON representation
NodeJS & TypeScript cloud-native application starter based on Strapi GraphQL Backend and React & Ant Design frontend, with deployment to K8S cluster
- Host: GitHub
- URL: https://github.com/bn-digital/project-templates
- Owner: bn-digital
- License: mit
- Created: 2021-01-14T01:07:05.000Z (almost 4 years ago)
- Default Branch: latest
- Last Pushed: 2024-06-10T15:31:12.000Z (7 months ago)
- Last Synced: 2024-06-10T18:07:38.134Z (7 months ago)
- Topics: antd, docker, helm, kubernetes, less, nodejs, parcel, react, strapi, typescript
- Language: TypeScript
- Homepage: https://project-templates.bndigital.dev
- Size: 66.6 MB
- Stars: 2
- Watchers: 5
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Brand New App
## Table of contents
- [CI/CD Workflows](#cicd-workflows)
- [Documentation & References](#documentation--references)
- [Environment](#environment)## CI/CD Workflows
### Secrets checklist
To ensure that WFs are working properly, add these GH Secrets right after project creation:
- [ ] Secrets for `VAULT_TOKEN` and `VAULT_ENDPOINT` (copy `github-token` and `url` from [https://vault.bndigital.dev](https://vault.bndigital.dev/ui/vault/secrets/infrastructure/show/vault))
- [ ] Secret for `GH_TOKEN` (copy `github-token` from [https://vault.bndigital.dev](https://vault.bndigital.dev/ui/vault/secrets/accounts/show/github/bn-enginseer))
- [ ] Secret for `HARBOR_TOKEN` (copy `api-token` from [https://vault.bndigital.dev](https://vault.bndigital.dev/ui/vault/secrets/accounts/show/dcr.bndigital.dev))## Staging Rollout
After setting up **_all_**(!) required secrets, perform these actions:
- [ ] In the `Actions` tab, find WF named `Bootstrap` in the left pane
- [ ] Click on the button `Run workflow` in the top-right corner and in pop-up window click green button `Run workflow`
- [ ] After that open code editor of your choice and replace all occurrences of `"project-templates"` in all `package.json` files with the name of your project, run `yarn install` from project root, then commit and push these changes
- [ ] Wait for the `Staging Deployment` workflow to run and check your staging at `REPO_NAME.bndigital.dev`
- [ ] Go to `REPO_NAME.bndigital.dev/admin` and set up Strapi Admin with [these](https://vault.bndigital.dev/ui/vault/secrets/templates/show/project/staging/strapi) credentials
- [ ] Click on the `Settings` option in the menu on the left and on the page that appeared click `Transfer tokens` and then `+ Create new Transfer Token` button in the top-right corner
- [ ] In the appeared window enter these values:
- For `Name` any name you like (e.g staging_token)
- For `Token duration` select `30 days`
- For `Description` don't put anything
- For `Token type` select `Full access`
- [ ] Then copy appeared token, press `Save` and save it as a GH secret named `STRAPI_STAGING_TRANSFER_TOKEN`
- [ ] Finally, run workflow named `Transfer` the same way you ran `Bootstrap`
- [ ] Say a few kind words to yourself after completing all steps 🙃
## Documentation & References- [React Documentation](https://react.dev/reference/react)
- [Strapi CMS Documentation](https://docs.strapi.io/developer-docs/latest/getting-started/introduction.html)
- [Ant Design Components](https://ant.design/components/overview/)
- [GitHub Actions](https://docs.github.com/en/actions)
- [Build and run as Docker container](docs/docker.md)
- [Environment variables](docs/env-variables.md)
- [Backend object storage](docs/storage.md)## Environment
### Sandbox
[Run in sandbox](https://codesandbox.io/p/github/bn-digital/project-templates/latest)
### Official documentation for tools in use
- [docker](https://docs.docker.com/)
- [kubectl](https://github.com/kubernetes/kubectl)
- [helm](https://github.com/helm/helm)
- [helmfile](https://github.com/helmfile/helmfile)
- [doctl](https://github.com/digitalocean/doctl)
- [pulumi](https://github.com/pulumi/pulumi)