TeachLink is a platform where technocrats and learners share, analyze, and monetize knowledge. People who publish and analyze content (tutorials, threads, technical analyses) earn for their contributions, and learners earn by completing tasks, competitions, quizzes, and learning games. Reputation is gamified, and rewards settle on-chain on the Stellar network via a Soroban smart contract — so payouts are transparent, verifiable, and programmable.
flowchart TD
subgraph Clients
W["Web app<br/>(Next.js)"]
M["Mobile app<br/>(Expo / React Native)"]
end
B["Backend API<br/>(NestJS)"]
DB[("PostgreSQL / Redis")]
C["Rewards & escrow contract<br/>(Rust / Soroban)"]
S(("Stellar network"))
W -->|REST / WebSocket| B
M -->|REST / WebSocket| B
B --> DB
B -->|submits transactions| C
C -->|settles rewards| S
- Clients (web + mobile) are the user-facing surfaces. They talk only to the backend API.
- The backend owns identity, content, tasks/competitions, gamified reputation, and reward orchestration, and is the single component that talks to the chain.
- The contract holds escrow and pays out learning/creator rewards on Stellar (Soroban).
| Repository | Role | Stack |
|---|---|---|
| teachLink_backend | Core API — identity, content, tasks, rewards orchestration | NestJS · PostgreSQL · Redis/BullMQ · Stellar SDK |
| teachLink_contract | On-chain rewards & escrow | Rust · Soroban (Stellar) |
| teachLink_web | Web client | Next.js (App Router) · React · Tailwind |
| teachLink_mobile | Mobile app | Expo · React Native · NativeWind |
The backend is the spine of the system and the fastest way to see it run:
git clone https://github.com/rinafcode/teachLink_backend.git
cd teachLink_backend
pnpm install
docker compose up -d postgres redis
pnpm start:dev # API + Swagger at http://localhost:3000/api/docsThen point a client at it (set NEXT_PUBLIC_API_URL in teachLink_web, or the API base URL in
teachLink_mobile), and use teachLink_contract for the on-chain rewards layer on Stellar testnet.
Built on Stellar · Soroban smart contracts.