Files
tukangketik-web/docs/11-bootstrap-spec.md
T

2.4 KiB

Bootstrap Specification

Purpose

The goal of bootstrap phase is to establish a stable foundation for future development.

No business features should be implemented during bootstrap.

Only infrastructure and application foundation.


Bootstrap Deliverables

The application must provide:

  • Fiber Application
  • Environment Configuration
  • MariaDB Connection
  • Redis Connection
  • Session Management
  • Template Rendering
  • HTMX Support
  • TinyMCE Integration Ready
  • Health Check Endpoint
  • Docker Support
  • Structured Logging

Dependencies

Required packages:

Fiber

Fiber Middleware

GORM

MariaDB Driver

Redis Client

Session Middleware

Environment Loader

Structured Logger


Environment Variables

The application must support:

APP_NAME

APP_ENV

APP_PORT

DB_HOST

DB_PORT

DB_NAME

DB_USER

DB_PASSWORD

REDIS_HOST

REDIS_PORT

REDIS_PASSWORD

SESSION_SECRET

UPLOAD_PATH


Database

Requirements:

  • GORM
  • Auto Migration disabled
  • Migration-based schema management
  • Connection pooling configured

Redis

Requirements:

  • Connection test during startup
  • Used for session storage

Session

Requirements:

  • Redis-backed session storage
  • Secure cookies
  • HTTP Only cookies
  • SameSite cookies

Templates

Requirements:

  • Go HTML Templates
  • Layout support
  • Partial support

Template structure:

layouts

partials

public

admin


Static Assets

Serve:

/css

/js

/images


Upload Strategy

Development:

web/uploads

Production:

/opt/data/uploads

Must be configurable via environment variable.


Health Check

Endpoint:

GET /health

Response:

{ "status": "ok" }

Checks:

  • Application running
  • Database reachable
  • Redis reachable

Base Routes

Public:

GET /

GET /health

Admin:

GET /admin/login


Home Page

Temporary placeholder page.

Display:

Application Name

Environment

Version


Logging

Use structured logging.

Log:

  • Startup
  • Shutdown
  • Database Connection
  • Redis Connection
  • Errors

Docker

Provide:

Dockerfile

docker-compose.yml

Environment support


Success Criteria

Bootstrap phase is complete when:

  • Application starts successfully
  • Database connection succeeds
  • Redis connection succeeds
  • Session middleware works
  • Templates render correctly
  • Home page loads
  • Health endpoint works
  • Docker container starts successfully

No blog functionality required.

No admin functionality required.

No CRUD functionality required.