Skip to content
1choooPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Feedline

Self-hosted social feed. Anyone can read posts. Sign in to publish. Ads are placed by age, country, and platform.

Go API, Next.js, Expo, PostgreSQL or SQLite. The app is called Stream.

Signed-in members can activate an advertiser workspace at /advertiser to upload creative, buy and redeem advertising credits, fund targeted campaigns, and review campaign impressions and clicks. Internal staff use /admin for live platform and advertising analytics, roles, campaign controls, company credit adjustments, and promotions. The public advertising services page is available at /advertise. See the backend guide for API and storage configuration.

Members can publish photos directly from the composer. Advertiser and staff reports support date filters and accessible daily data tables. The product review and engineering brief records the priorities, acceptance criteria, completed workflow checks, and next features.

Apps

Setup

pnpm install

Run the stack (Postgres, API with hot reload, web with hot reload):

docker compose up --build
docker compose exec backend go run ./cmd/seed

Open http://localhost:3000 signed out to read the mock feed. Sign in as admin@stream.local for administrative reporting, jane@stream.local, kai@stream.local, or nova@stream.local for advertiser data, or miles@stream.local as a regular member (password password123 for every development fixture).

Page Route Access
Social feed http://localhost:3000/ Public
Advertiser dashboard http://localhost:3000/advertiser Sign in; members can activate advertising
Admin dashboard http://localhost:3000/admin Admin account, such as admin@stream.local
Sign in http://localhost:3000/login Public

A Cannot GET / response with an X-Powered-By: Express header is from another server. Make port 3000 available, then recreate the frontend if needed:

docker compose up -d --build --force-recreate --no-deps web

Check docker compose ps for a published web port. Docker development uses Webpack with polling for file changes and keeps .next in a Docker volume to avoid sharing generated files with host development. These settings also apply to the SQLite stack.

Wipe the database and start over:

docker compose down -v

Or Postgres only, then every app on the host:

docker compose up -d postgres
pnpm dev
pnpm --filter backend db:seed

App-specific setup, APIs, and commands live in each app README.

For local development with a file database and local image storage, use the standalone SQLite stack:

docker compose -f docker-compose.sqlite.yml up --build
docker compose -f docker-compose.sqlite.yml exec backend go run ./cmd/seed

SQLite data and uploads persist in apps/backend/data/, which is excluded from Git. PostgreSQL remains the default provider. See the database configuration guide for running either provider directly on the host.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages