Skip to content

georgetoloraia/selflink-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

393 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Join our Discord MIT License

SelfLink - Full opensource unification

click for more WHAT-IS-SELFLINK.md

How to contribute

There are three simple ways to help:

  1. Backend (Django / DRF): See CONTRIBUTING.md
  2. Mobile (React Native / Expo): https://github.com/georgetoloraia/selflink-mobile
  3. Architecture / design feedback: Open an issue — no code required If you’re new, start with a good first issue.

Contributor rewards (short version)

  • 50% of future net platform revenue is reserved for contributors
  • Contributions are tracked as immutable RewardEvents
  • Rewards are calculated monthly using deterministic rules
  • Corrections happen via new events, never by rewriting history Full details: CONTRIBUTOR_REWARDS.md

SLC (SelfLink Coin) — internal USD credits

  • Off-chain only: 1 SLC = 1 USD (integer cents); no withdrawals to fiat/crypto
  • Every user gets an SLC account automatically
  • P2P transfers and internal spending are supported with transfer fees
  • API (under /api/v1/coin/): balance, ledger, transfer, spend
  • Docs: docs/
  1. START_HERE.md
  2. docs/WHY_THIS_STACK.md
  3. docs/coin/WALLET.md
  4. CONTRIBUTOR_REWARDS.md
  5. docs/RUNBOOK.md
  6. docs/ARCHITECTURE.md – High-level system layout and boundaries
  7. docs/architecture/domains.md – Which modules are allowed to depend on which
  8. apps/contrib_rewards/ – The trust anchor (append-only ledger)
  9. apps/core/ – Identity, social graph, permissions
  10. apps/mentor / apps/astro / apps/matching/ – Optional intelligence layer
  11. infra/ – How the system runs in Docker / production

You do not need to understand everything to contribute. Most contributors work in a single domain.

Quickstart (backend)

  • Prereq (Ubuntu/Debian): sudo apt-get install -y docker-compose-plugin
  • Clone the repo and copy infra/.env.example to infra/.env (keep $$ escapes for Compose)
  • make infra-up-local (starts api + asgi + worker + realtime + postgres + redis + pgbouncer + media)
  • make infra-migrate
  • make infra-superuser
  • make infra-status (informational health check)
  • make infra-status-strict (fails if api/asgi/realtime are not healthy)
  • make coin-invariant-check (verifies SLC ledger invariants; safe to run locally/host)
  • Optional search stack: docker compose -f infra/compose.yaml --profile search up -d
  • For more, see README_for_env.md, docker_guide.md, or docs/WHY_THIS_STACK.md

Note: Docker Compose reads infra/.env; the root .env is only for non-Docker runs. Docker Compose interpolates $VAR in infra/.env, so escape literal $ as $$. Inside containers, localhost does not point to other services; use Docker hostnames like pgbouncer, redis, and opensearch.

Build metadata (GIT_SHA)

To stamp builds with a commit hash for debugging:

  • GIT_SHA=$(git rev-parse --short HEAD) docker compose -f infra/compose.yaml build
  • Or pass --build-arg GIT_SHA=$(git rev-parse --short HEAD) when building the API image. If not provided, the API will report X-SL-Commit: unknown. For convenience during local dev:
  • ./scripts/dev/build_with_sha.sh
  • ./scripts/dev/up_with_sha.sh

License

Open source. See LICENSE.

About

selflink backend

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages