Files
chirp-pwa/README.md
T
admin 865b20f0b4 TASK-012: Initialize Chirp project — design spec, directory structure, README
- Add chirp-design-spec.md (857-line full technical specification)
- Create Go server directory structure (cmd/, internal/*, deploy/, tests/)
- Create PWA frontend directories (web/templates, web/static, web/sw)
- Write README with architecture overview and stack table

Infrastructure status as of 2026-05-31:
- GoToSocial v0.21.2 running on :8085
- PostgreSQL 16, Redis, Meilisearch all configured
- Nginx SSL termination for chirp.myfacefeed.com
2026-05-31 01:28:55 -04:00

71 lines
1.9 KiB
Markdown

# Chirp — Fediverse Microblogging PWA
A custom Progressive Web App frontend for the Fediverse, powered by GoToSocial.
**Instance:** chirp.myfacefeed.com
## Architecture
```
Browser / Mobile
↓ HTTPS
Chirp Go Web Server (this repo)
↓ Mastodon-compatible API
GoToSocial (ActivityPub backend)
↓ PostgreSQL + MinIO
```
## Stack
| Layer | Technology |
|-------|-----------|
| Backend | Go 1.22, GoToSocial v0.21.2 |
| Auth | Zitadel (OIDC) |
| Storage | PostgreSQL 16, Redis, MinIO |
| Search | Meilisearch |
| Frontend | Vanilla JS PWA (no framework) |
| Deploy | Nginx + systemd on 38.242.152.38 |
## Project Layout
```
cmd/server/ — main entry point
internal/
config/ — env-based config struct
gts/ — GoToSocial API client
proxy/ — API proxy (/api/v1/* passthrough)
oauth/ — Zitadel OIDC integration
db/ — chirp schema CRUD (bookmarks, lists, etc.)
ws/ — WebSocket hub (GTS stream bridge)
scheduler/ — post scheduler (Redis sorted set)
search/ — Meilisearch client
web/
templates/ — Go HTML templates
static/ — CSS, JS, icons
sw/ — service worker
deploy/
k8s/ — Kubernetes manifests (future)
nginx/ — nginx config
tests/
integration/ — integration tests
e2e/ — end-to-end tests
```
## Design Spec
Full technical specification: [chirp-design-spec.md](chirp-design-spec.md)
## Infrastructure Notes
- GoToSocial DB: PostgreSQL `gotosocial` (127.0.0.1:5432)
- Chirp schema: PostgreSQL `chirp` (8 custom tables)
- Redis: 127.0.0.1:6379 (sessions, queues, pub/sub)
- Meilisearch: 127.0.0.1:7700 (search indexes)
- MinIO: s3.myfacefeed.com / chirp-media bucket
## Status
Phase 1 (Infrastructure) — complete as of 2026-05-31
Phase 2 (Go Server Core) — in progress
Phase 3+ (PWA) — assigned to Claude3