A hands-on project built to learn and practice GraphQL using Apollo Server and Apollo Client. This repository demonstrates how to create GraphQL APIs, define schemas, write resolvers, and consume GraphQL data efficiently.
This project was created as part of my GraphQL learning journey to understand:
- GraphQL fundamentals
- Apollo Server setup
- Apollo Client integration
- Queries and Mutations
- Schema design
- Resolver implementation
- Data fetching and state management
- ✅ GraphQL API with Apollo Server
- ✅ Custom Schema & Type Definitions
- ✅ Query Operations
- ✅ Mutation Operations
- ✅ Resolver Functions
- ✅ Apollo Client Integration
- ✅ Error Handling
- ✅ Clean Project Structure
| Technology | Purpose |
|---|---|
| GraphQL | API Query Language |
| Apollo Server | Backend GraphQL Server |
| Apollo Client | Frontend Data Management |
| Node.js | Runtime Environment |
| Express.js | Server Framework |
| JavaScript / TypeScript | Development Language |
Clone the repository:
Install dependencies:
npm installStart the development server:
npm run devor
npm startServer will run at:
http://localhost:4000query GetUsers {
users {
id
name
email
}
}{
"data": {
"users": [
{
"id": "1",
"name": "John Doe",
"email": "john@example.com"
}
]
}
}Through this project, I practiced:
- Understanding GraphQL architecture
- Designing schemas and types
- Creating resolvers
- Executing queries and mutations
- Apollo ecosystem fundamentals
- API testing with GraphQL Playground
Apollo Sandbox / GraphQL Playground can be accessed after starting the server:
http://localhost:4000/Contributions, suggestions, and improvements are welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a Pull Request
- GraphQL Documentation
- Apollo GraphQL Documentation
- Apollo Client Documentation
Abdul Rehman
Made with ❤️ while learning Apollo GraphQL.
Feel free to ⭐ the repository if you found its useful!