architecture-paradigm-client-server

Featured

Applies client-server architecture for web/mobile apps. Use when designing systems with centralized backend services, trust boundaries, or offline-first sync.

API & Backend 323 stars 29 forks Updated today MIT

Install

View on GitHub

Quality Score: 96/100

Stars 20%
84
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# The Client-Server and Peer-to-Peer Paradigms ## When to Employ This Paradigm - For traditional applications that have centralized services, such as web or mobile clients communicating with backend APIs. - For systems exploring decentralized or "offline-first" capabilities that rely on peer-to-peer synchronization. - To formally document trust boundaries, client-server version negotiation, and API evolution strategies. ## When NOT To Use - Systems with no network boundary between UI and logic (use `archetypes:architecture-paradigm-modular-monolith`) - Choosing among paradigms in the first place (use `archetypes:architecture-paradigms`) ## Adoption Steps 1. **Define Responsibilities**: Clearly delineate which logic and data reside on the client versus the server, with the goal of minimizing duplication. 2. **Document the Contracts**: Formally document all APIs, data schemas, authentication flows, and any capability negotiation required for handling different client versions. 3. **Plan for Version Skew**: Implement a strategy to manage different client and server versions, such as using feature flags, `Accept` headers for content negotiation, or semantic versioning for APIs. 4. **Address Connectivity Issues**: If the application is not purely client-server, design for intermittent connectivity. This may involve implementing offline caching, data synchronization protocols, or peer discovery and membership services. 5. **Secure All Communications**: Enforce the use of TL...

Details

Author
athola
Repository
athola/claude-night-market
Created
8 months ago
Last Updated
today
Language
Python
License
MIT

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category