Design Phase Recipes
This collection provides ready-to-use patterns, templates, and workflows for the GISE Design phase. These recipes help you create robust, scalable architecture with comprehensive documentation.
Architecture Planning Recipes
System Architecture Template
Database Design Pattern
-- User Management Schema
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
status VARCHAR(20) DEFAULT 'active',
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Business Entity Schema
CREATE TABLE projects (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(255) NOT NULL,
description TEXT,
owner_id UUID REFERENCES users(id) ON DELETE CASCADE,
status VARCHAR(20) DEFAULT 'draft',
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Indexes for Performance
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_projects_owner ON projects(owner_id);
CREATE INDEX idx_projects_status ON projects(status);
API Design Patterns
RESTful API Structure
openapi: 3.0.3
info:
title: GISE API Template
version: 1.0.0
description: Standard API design following GISE patterns
paths:
/api/v1/projects:
get:
summary: List projects
parameters:
- name: page
in: query
schema:
type: integer
default: 1
- name: limit
in: query
schema:
type: integer
default: 20
responses:
'200':
description: Projects retrieved successfully
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Project'
meta:
$ref: '#/components/schemas/PaginationMeta'
Security Architecture Recipes
Authentication Flow Design
Technical Decision Templates
Decision Record Template
# ADR-XXX: [Decision Title]
## Status
[Proposed | Accepted | Deprecated | Superseded]
## Context
[Describe the situation that necessitates a decision]
## Decision
[State the decision that was made]
## Rationale
[Explain why this decision was made]
## Consequences
[Describe the positive and negative outcomes]
## Alternatives Considered
[List other options that were evaluated]
## References
[Link to supporting documentation]
Related Resources:
These recipes provide starting points for common design patterns. Adapt them to your specific requirements and context.