From c1ce3c31bad4bd3ff77cc5e8a5b3d221fec44a5c Mon Sep 17 00:00:00 2001 From: Adam French Date: Tue, 17 Mar 2026 00:39:25 +0000 Subject: [PATCH] Update readme with GraphQL API details and tech stack specifics Co-Authored-By: Claude Sonnet 4.6 --- readme.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index c4064c0..c522c28 100644 --- a/readme.md +++ b/readme.md @@ -26,9 +26,9 @@ certbot ── SSL Certificate Management ## Tech Stack -**Frontend** - Vue 3, Vite, Tailwind CSS, Pinia, Vue Router, markdown-it, Rust/WASM +**Frontend** - Vue 3, Vite, Tailwind CSS v4, Pinia, Vue Router, markdown-it (wikilinks + KaTeX), Rust/WASM -**Backend** - Go (Gin), GORM, PostgreSQL, JWT auth, WebSockets +**Backend** - Go (Gin), gqlgen (GraphQL), GORM, PostgreSQL, JWT auth, WebSockets **Integrations** - Spotify API, Anthropic Claude API, Icecast2 @@ -43,7 +43,7 @@ certbot ── SSL Certificate Management - Blog with admin panel (CRUD) - Activity and rowing session tracking - Fan shrines (GTO, Evangelion, Demoman, Skip Skip Benben) -- Self-hosted Git (Gitea) with CI/CD +- Self-hosted Git (Gitea) with CI/CD and commit feed on homepage - Claude AI integration ## Pages @@ -59,7 +59,11 @@ certbot ── SSL Certificate Management ## API -Public endpoints for posts, users, favorites, activities, rowing, Spotify, notes, and WebSocket messaging. Protected endpoints for creating/updating/deleting content require JWT authentication via `/auth/login`. +The primary API is **GraphQL** at `POST /api/graphql` (with a playground at `GET /api/graphql`). Queries cover posts, users, favorites, activities, rowing sessions, Spotify (currently playing, recently played), Gitea feed, and messages. + +REST endpoints handle auth (`/auth/*`), Spotify OAuth (`/spotify/*`), file uploads (`/messages/upload`), note serving (`/notes/*`), and WebSocket chat (`/api/ws`). + +Protected endpoints require JWT authentication via `/auth/login` (tokens set as HTTP-only cookies). ## Local Testing (Dev Mode)