Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutorial Follow-Up Tasks #916

Open
32 tasks
Tracked by #1358
n1ru4l opened this issue Feb 25, 2022 · 0 comments
Open
32 tasks
Tracked by #1358

Tutorial Follow-Up Tasks #916

n1ru4l opened this issue Feb 25, 2022 · 0 comments
Assignees
Milestone

Comments

@n1ru4l
Copy link
Collaborator

n1ru4l commented Feb 25, 2022

Enhancements

Additional Content

1. Codebase architecture and tools

  • Split schema into reusable modules
    Show-case type merging, by refactoring the current monolith schema into modules. Mention server preset's
  • Integrating graphql-eslint

2. Production usage

  • Production deployment
    A guide for deploying the app to production. Platform to be determined.
  • Rate Limiting.
    Implement rate-limiting for commenting and posting.

3. Abstract types

  • Advanced Error Handling using Union and Interface Types
  • Interface Types for Feed Items
    Introduce a new feed item type called Image. Change feed to return FeedItem interface type. Database migrations? 🤔

4. Integrating with 3rd party APIs

  • Integrate another third party API
    • Call a REST API from within GraphQL Resolvers
    • Call a GraphQL API from within GraphQL Resolvers
    • Merge local GraphQL Schema with a remote GraphQL schema
  • Caching and batching requests to solve N+1 problems
    Revisit mutation fields and change them to use union and interface types for expressing the errors.

5. Pagination

  • Relay Style Pagination
    Explain drawbacks of offset based pagination. Show implementation of relay style pagination. Implement correct indices for doing performant relay-style pagination.
  • Sorting + Indices
    Introduce post flavours using enum type. Filter feed per flavour. Set correct database indices for doing performant post flavour feed look-ups.

6. Subscriptions

7. Auth

  • Authentication with useGenericAuth
    Introduce Prisma model User and add register and logIn mutations. Limit Mutation.postLink and Mutation.postCommentOnLink to authentciated users.

Further thoughts

  • Should we provide a raw SQL non-prisma variant?
  • Should we provide a no-sql (mongodbor similar ) variant?
@n1ru4l n1ru4l self-assigned this Feb 25, 2022
@n1ru4l n1ru4l mentioned this issue Feb 25, 2022
@Urigo Urigo added this to the v3 milestone Jul 6, 2022
@theguild-bot theguild-bot mentioned this issue Jul 6, 2022
This was referenced May 7, 2024
This was referenced May 23, 2024
@eddeee888 eddeee888 self-assigned this Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants