A lightweight community platform focused on posting, discussion, relationships, and inbox notifications.
Live Demo: https://aeibi.com
The project is in an early stage. Core community flows are already in place, and features are being actively iterated.
- Account system: sign up, log in, token refresh, logout, profile updates, password change
- Content publishing: create posts (text, images, tags), edit/delete posts, public/private visibility
- Social interactions: likes, collections, comments, replies, comment likes
- Relationship graph: follow/unfollow, followers/following lists, relation search
- Inbox center: follow and comment notifications, unread counts, mark all as read, archive single messages
- Search & discovery: post search, tag search, user search, tag/user prefix suggestions
- Moderation: report posts, comments, and users
- File service: upload files, query metadata, retrieve file content (S3-compatible object storage)
Use this mode when you want to run the full stack quickly with prebuilt images.
Start services:
docker compose -f docker/docker-compose.yaml up -dOpen: http://localhost:38081
For production deployments, make sure to update credentials in
docker/docker-compose.yamlanddocker/runtime/config.runtime.yamlwith strong, unique passwords/secrets before starting services.
Prerequisites:
- Go
1.25.4+ - Docker Engine
28+ - Docker Compose
v2+ - Node.js
22.x+ pnpm10+(only required for Mode 1 frontend development or manual frontend rebuild)
Start required dependencies first (from repository root):
docker compose -f docker/docker-compose.dev.yaml up -dMode 1: Frontend dev server + backend-only API
Frontend:
cd web
pnpm install
pnpm run devBackend:
go run ./cmd backend --config ./config.example.yamlMode 2: Embedded frontend release + full backend
Start full service:
go run ./cmd --config ./config.example.yamlNotes:
- In Mode 1, frontend is served by Vite dev server; backend serves API routes only (
/api/*and/file/*). - In Mode 2, backend serves embedded frontend assets from
web/dist. web/distis built by GitHub Actions (.github/workflows/build-web-dist.yml) whenever frontend source files change, so a fresh clone can run Mode 2 without local Node.js/pnpm.
MIT
Contributions of all kinds are welcome, such as bug fixes, new features, documentation improvements, etc.
