php / php/frankenphp

Documentation request: architecture overview

Open
#454 3 comments 13 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
11.3k
Forks
488
Avg merge
4d 10h
Merged PRs (30d)
11

Description

It stands to reason that many people who will be using Frankenphp have little to no experience with Go or even Caddy.

While it does appear to be relatively easy to get started with frankenphp without such knowledge, surely people would benefit from having at least a conceptual understanding of what is going on. With that, they might even start dabbling in writing their own Go/Caddy modules.

I have no expectation that Frankenphp should provide detailed documentation on Caddy, Go etc, but would it be possible to add a simple documentation article that provides an overview of Frankenphp's architecture?

Is Caddy embedded in Frankenphp? Or is Frankenphp a Caddy Module? What about Mercure? How would we extend and/or modify them all - with additional caddy modules? Can Go code be written to make use of Frankenphp worker mode, or is frankenphp even needed if we intend to write Go code? Etc...

I'm sure those questions are contradictory and even incoherent, but I hope you get the sense of what I'm trying to describe and learn.

Id imagine it could all be explained in a few paragraphs, along with some links to relevant Caddy documentation and perhaps Go documentation.

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by identifying the existing documentation structure and the architecture concepts raised in the issue: FrankenPHP's relationship to Caddy, Mercure, Go, and worker mode. The work is done when a concise overview answers those questions and links to relevant Caddy and Go documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, php
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.