https://github.com/amaingot/todo
TypeScript + React + Apollo + Kubernetes
https://github.com/amaingot/todo
amplify apollo-client appsync react typescript
Last synced: 5 months ago
JSON representation
TypeScript + React + Apollo + Kubernetes
- Host: GitHub
- URL: https://github.com/amaingot/todo
- Owner: amaingot
- Created: 2019-01-12T19:10:39.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-26T05:00:12.000Z (almost 3 years ago)
- Last Synced: 2025-03-29T00:35:26.361Z (10 months ago)
- Topics: amplify, apollo-client, appsync, react, typescript
- Language: TypeScript
- Homepage: https://todo.hmm.dev
- Size: 4.95 MB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Todo
This is a super simple app that I use for demonstration purposes.
## Interesting features
- **GraphQL Code Generation**: Just run `yarn generate` and both client-side hooks and server resolver types will be generated.
- **GraphQL Subscriptions**: Using Google Pub/Sub and websockets, the user can subscribe to real time data without refreshing their page
- **GCP Identity Provider**: Essentially this is Firebase auth. There are three interesting points we are using for this: validating the authentication header for http requests, validating the connection params for websocket sessions, and also on the client using the custom auth context
- **Kubernetes**: Lots of kubernetes resources defined inside the `k8/` file
- **Model Level Permissions**: Look at the `Todo` typeorm entity, you'll find some interesting ways we do auth
- **Database Helpers**: This helps me do very simple resolvers. See `server/src/db/helpers.ts`, and the resovlers
- **Tag-based Deploys**: When I want to deploy to production, I simple create a release through Github in semvar fashion and CircleCI picks it up for me and deploys!