Skip to content

Welcome to the API Design Study Repository! This project is a hands-on exploration of API-design, covering REST API, GraphQL, and gRPC.

Notifications You must be signed in to change notification settings

JawherKl/api-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Design Study Repository 🚀

Repository Size Last Commit Issues Forks Stars

api-design

Welcome to the API Design Study Repository! This project is a hands-on exploration of API design patterns, covering REST API, GraphQL, gRPC, SOAP, Webhook and Websocket implementations across four popular frameworks: Node.js, Golang, Symfony, and Spring Boot.


📂 Project Structure

api-design-study/
│── docs/
│   ├── images/
│   |── framework-comparison.md
│   ├── GraphQL.md
│   ├── gRPC.md
│   ├── REST-API.md
|   ├── SOAP.md
│   ├── Webhook.md
│   └── Websocket.md
├── graphql/
│   ├── golang/
│   ├── nodejs/
│   |── spring-boot/
│   └── symfony/
├── grpc/
│   ├── golang/
│   ├── nodejs/
│   |── spring-boot/
│   └── symfony/
├── rest-api/
│   ├── golang/
│   ├── nodejs/
│   |── spring-boot/
│   └── symfony/
├── soap/
│   ├── golang/
│   ├── nodejs/
│   |── spring-boot/
│   └── symfony/
├── webhook/
│   ├── golang/
│   ├── nodejs/
│   |── spring-boot/
│   └── symfony/
├── websocket/
│   ├── golang/
│   ├── nodejs/
│   |── spring-boot/
│   └── symfony/
└── README.md

✨ Features

  • REST API: Comprehensive study of HTTP methods, request/response handling, and best practices.
  • GraphQL: Efficient data retrieval with GraphQL schemas, resolvers, and queries.
  • gRPC: Implementation of Protobuf-based gRPC server-client communication.
  • Webhook: Automated HTTP callbacks for real-time event notifications.
  • WebSocket: Full-duplex communication channels for real-time data exchange over a single TCP connection.

🌐 Frameworks Covered

  • Node.js: JavaScript runtime for building scalable APIs.
  • Golang: Lightweight and fast language for robust API services.
  • Symfony: PHP framework with structured components and rich tools.
  • Spring Boot: Java-based framework tailored for microservices and enterprise APIs.

🚀 Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js
  • Go
  • PHP
  • Java (with Maven)
  • Docker (for optional containerized services)

Setup

  1. Clone the repository:

    git clone https://github.com/JawherKl/api-design-study.git
  2. Navigate to a specific API type and framework:

    cd api-design-study/rest-api/nodejs
  3. Install dependencies and start the server:

    npm install
    npm start

📚 Documentation


🤝 Contribution

We welcome contributions! Feel free to:

  • Fork this repository
  • Raise issues
  • Submit pull requests to enhance the repository

🌟 Happy Learning and Building! 🌟

Stargazers over time 🌟

Stargazers over time

About

Welcome to the API Design Study Repository! This project is a hands-on exploration of API-design, covering REST API, GraphQL, and gRPC.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published