Skip to content

Commit

Permalink
Merge branch 'develop' into feature/graphql-vue-approaches-guide
Browse files Browse the repository at this point in the history
  • Loading branch information
onyedikachi-david authored Jul 31, 2024
2 parents 8bbd7c1 + f7ad2cf commit b7f799a
Show file tree
Hide file tree
Showing 56 changed files with 8,680 additions and 3,446 deletions.
37 changes: 21 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ on:
branches: [develop]
types: [opened, reopened, synchronize]

permissions:
contents: write

jobs:
build-and-deploy:
concurrency: ci-${{ github.ref }}
Expand All @@ -30,10 +33,6 @@ jobs:
run: |
npm install
npx prettier --check "**/*.{graphql,yml,json,md,sh,ts,tsx,js}"
cd ./publish-hashnode
npm run generate
cd ..
npm run typecheck
npm run build
- name: Deploy 🚀
Expand All @@ -42,20 +41,26 @@ jobs:
with:
folder: build

- name: Get changed markdown files
id: changed-markdown-files
uses: tj-actions/changed-files@v44
with:
files: |
blog/**/*.{md,mdx}
- name: Publish to Hashnode 📝
if: github.ref == 'refs/heads/develop' && steps.changed-markdown-files.outputs.any_changed == 'true'
- name: Publish to Hashnode and Dev.to 📝
env:
HASHNODE_PAT: ${{ secrets.HASHNODE_PAT }}
HASHNODE_PUBLICATION_ID: ${{ secrets.HASHNODE_PUBLICATION_ID }}
CHANGED_FILES: ${{ steps.changed-markdown-files.outputs.all_changed_files }}
DEVTO_API_KEY: ${{ secrets.DEVTO_API_KEY}}
DEVTO_ORG_ID: ${{secrets.DEVTO_ORG_ID}}
DEVTO_ORG_NAME: ${{secrets.DEVTO_ORG_NAME}}
run: |
cd ./publish-hashnode
cd ./publish-externals
npm run generate
npx --yes tsx ./src/index.ts "$CHANGED_FILES"
if [ "$GITHUB_REF" == "refs/heads/develop" ]; then
npx --yes tsx ./src/index.ts --publish
else
npx --yes tsx ./src/index.ts
fi
- name: Commit and push changes (on develop)
if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
uses: stefanzweifel/git-auto-commit-action@v5
with:
branch: develop
commit_author: Author <[email protected]>
commit_message: "[ci skip] update snapshot"
18 changes: 17 additions & 1 deletion blog/graphql-schema-2024-07-11.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Design a GraphQL Schema So Good, It'll Make REST APIs Cry
title: Design a GraphQL Schema So Good, It'll Make REST APIs Cry - Part 1
authors:
- name: Amit Singh
title: Head of Growth and Strategy @ Tailcall
Expand All @@ -16,8 +16,18 @@ slug: graphql-schema

Designing a robust, scalable GraphQL schema is critical for building production-ready APIs that can evolve with your application's needs. In this comprehensive guide, we'll walk through the process of crafting a GraphQL schema for a real-world application, highlighting best practices and considerations along the way.

If you are thinking how we could possibly cover all of the lovely intricacies associated with this topic in one go, you are right, we can't and so we are not! We have created an amazing series to take you through the nuances of working with GraphQL schemas.

Let's break our job into puzzle pieces. Let's start by simply creating designing a brand new schema!

<!-- truncate -->

<div style={{textAlign: 'center', margin:'16px'}}>

<img src="/images/blog/puzzle-graphql-schema-1.png" alt="puzzle piece to visualise the series" style={{maxWidth: '40%'}} />

</div>

If you're new to GraphQL Schema, check out our [GraphQL Schema Tutorial](https://tailcall.run/graphql/schemas-and-types/) to get up to speed with the basics.

## The Power of GraphQL Schemas
Expand Down Expand Up @@ -474,3 +484,9 @@ Remember, your schema is a living document. As your application evolves, so too
The TechTalent example we've explored here demonstrates many real-world considerations, but every application will have its unique requirements. Always design with your specific use cases in mind, and don't be afraid to iterate as you learn more about how your API is used in practice.

By investing time in thoughtful schema design upfront, you'll create a solid foundation for your GraphQL API, enabling efficient development and a great experience for your API consumers.

Alright greatttt! You have successfully completed the first part of a very intricate series!! Pat yourslef and maybe high five your cat! Here are the links to the next blogs in the series that have already been published.

![cat giving high five](../static/images/blog/cat-high-five-gif.webp)

- [Next Part](/blog/graphql-schema-part-2-1)
Loading

0 comments on commit b7f799a

Please sign in to comment.