Welcome to the comprehensive documentation hub for developing scalable applications. This repository contains guidelines, best practices, and overviews for building robust, secure, and maintainable systems using Golang, AWS, Azure, Google Cloud, CLI tools, and PHP.
Note: This documentation is generated by AI. If you find any missing information, inaccuracies, or areas that need improvement, please report them via GitHub Issues.
- Architecture - Architectural styles and patterns
- Coding Rules - Mandatory rules for code generation and architecture
- Principles - Software development principles and architecture
- Patterns - Design and resilience patterns
- Best Practices - Development practices, anti-patterns, and architecture patterns
- Infrastructure - AWS services and deployment
- Ecosystem - Cloud platform services (AWS, Azure, Google Cloud)
- Technologies - Infrastructure, protocols, and tools
- Contributing
Explore architectural styles and patterns for system design:
- Architectural Styles - High-level paradigms (Monolithic, Microservices, SOA, Event-Driven, Serverless)
- Architectural Patterns - Reusable solutions (Clean, Hexagonal, Layered, Onion, MVC, BFF, DDD)
All development must follow the Coding Rules, which enforce Domain-Driven Design (DDD), Clean Architecture, SOLID principles, Test-Driven Development (TDD), and zero-trust security. These rules ensure consistency across various programming languages and frameworks.
Key highlights:
- DDD & Clean Architecture: Layer separation with domain at the core.
- TDD Mandatory: 100% domain coverage, 90% overall.
- Zero Trust: Always validate and normalize inputs.
- SOLID Compliance: Single responsibility, open/closed, Liskov, interface segregation, dependency inversion.
Explore software development principles and architecture patterns in Principles, including SOLID, KISS, DRY, and more for building maintainable code.
- OOP Principles - SOLID, GRASP principles
- Code Quality - DRY, KISS, YAGNI
- General - Separation of Concerns, Fail Fast
- Security - Zero Trust, Least Privilege
- Distributed Systems - CAP Theorem, Eventual Consistency
Discover design patterns and resilience patterns in Patterns, such as Factory, Repository, Circuit Breaker, and Retry for robust application development.
- Design Patterns - GoF patterns (Factory, Adapter, Strategy)
- Domain Patterns - DDD, Specification, Policy
- Data Access - Repository, Unit of Work, CQRS
- Transaction - Saga, 2PC, Compensation
- Integration - Pub/Sub, Message Broker
- Scalability - Caching, Sharding, Throttling
- Reliability - Circuit Breaker, Retry, Timeout
- Security - Auth patterns, OAuth2
- Observability - Logging, Tracing, Metrics
Explore development practices, anti-patterns, and architecture patterns in Best Practices, including CI/CD, blue-green deployment, feature toggles, and common pitfalls to avoid.
- Principles - SOLID, DRY, KISS, YAGNI, and more
- Patterns - Design, domain, data-access, transaction, integration, scalability, reliability, security, observability patterns
- Practices - CI/CD, deployment strategies, feature management, infrastructure practices
- Anti-patterns - Common pitfalls and how to avoid them
- AWS Services - Services like EC2, Lambda, RDS for scalable applications.
Comprehensive documentation for cloud platform services:
- AWS Ecosystem - Compute, storage, analytics, event-driven, database, and serverless services
- Azure Ecosystem - Virtual machines, containers, functions, storage, and database services
- Google Cloud Ecosystem - Compute Engine, App Engine, Cloud Storage, BigQuery, and more
- Ansible / Ansible - Configuration management and automation tool.
- Containerd / Containerd - Industry-standard container runtime for Kubernetes and orchestration.
- Docker / Docker - Containerization platform for application packaging and deployment.
- Docker Swarm / Docker Swarm - Native Docker clustering and orchestration solution.
- ELK Stack / ELK Stack - Elasticsearch, Logstash, Kibana for log aggregation and analysis.
- Grafana / Grafana - Visualization platform for metrics and monitoring dashboards.
- Helm / Helm - Package manager for Kubernetes applications.
- Istio / Istio - Service mesh for microservices observability and traffic management.
- Apache Kafka / Apache Kafka - Distributed event streaming platform for real-time data processing.
- Kubernetes / Kubernetes - Container orchestration platform for scalable applications.
- Nginx / Nginx - High-performance web server, reverse proxy, and load balancer.
- Prometheus / Prometheus - Monitoring and alerting toolkit for metrics collection.
- RabbitMQ / RabbitMQ - Message broker implementing AMQP for reliable messaging.
- Terraform / Terraform - Infrastructure as code tool for multi-cloud deployments.
- AMQP / AMQP - Advanced Message Queuing Protocol for reliable messaging.
- GraphQL / GraphQL - Query language for APIs with flexible data fetching.
- gRPC / gRPC - High-performance RPC framework using HTTP/2.
- HTTP / HTTP - HTTP/1.1, HTTP/2, HTTP/3 protocols for web APIs and communication.
- MQTT / MQTT - Lightweight messaging protocol for IoT and mobile applications.
- Server-Sent Events / Server-Sent Events - Server-push technology for real-time web applications.
- STOMP / STOMP - Simple Text Oriented Messaging Protocol for messaging.
- TCP/IP / TCP/IP - Transmission Control Protocol/Internet Protocol suite.
- UDP / UDP - User Datagram Protocol for connectionless communications.
- WebRTC / WebRTC - Real-time communication protocol for web browsers.
- WebSocket / WebSocket - Full-duplex communication protocol over TCP.
- Follow the coding rules strictly.
- Update docs for any architectural changes.
- Use GitHub/GitLab issues for feedback.
For hosting, this docs structure is compatible with GitHub Wiki (automated) or GitHub Pages.
On push to master, .github/workflows/wiki.yml runs:
node scripts/build-index.mjsnode scripts/export-wiki.mjs→wiki-export/(gitignored)scripts/push-wiki.sh→ pushes todev-docs.wikiusingGITHUB_TOKEN
Wiki page names: hierarchical Architecture Patterns - Bff (not / — GitHub Wiki forbids slashes in titles). Internal link destinations are URL-encoded (%20 for spaces). _Sidebar: one row per topic with Title · [EN](…) · [ID](…) — no separate Indonesian sidebar page.
One-time setup:
2. Create one manual wiki page (e.g. Home) so the dev-docs.wiki git repo exists.
3. If the workflow push step fails with auth errors, add secret WIKI_TOKEN (fine-grained or classic PAT with Contents: Read and write on this repo). The workflow prefers WIKI_TOKEN over GITHUB_TOKEN.
Local preview:
node scripts/build-index.mjs
node scripts/export-wiki.mjs
ls wiki-export | head