Linkora is a monorepo for a next-generation Social DeFi platform built on the Stellar Development Foundation ecosystem. The platform merges social interactions with decentralized finance, empowering creators, communities, and investors to engage economically through:
On-chain transactions
On-chain posts
Tipping & micro-payments
Creator tokens
Community token pools
Social-driven economic activity
This repository emphasizes architecture, tooling, and developer experience. Business logic and protocol rules will be layered on top as the project evolves.
Monorepo Structure
Linkora uses pnpm workspaces and Turborepo to maintain a consistent, scalable architecture across:
Applications Layer
Web App: Next.js App Router frontend
Mobile App: Expo React Native application
Backend API: NestJS service for orchestration, indexing, and off-chain logic
Smart Contract Layer — Soroban
Rust-based smart contracts built for Soroban
Managed with Soroban CLI and tested on Local Sandbox / Futurenet
Shared Packages
config: Shared ESLint, Prettier, and TypeScript configs
types: Shared TypeScript definitions
contracts: All Soroban contracts and Clarinet-like structure for organization
Monorepo & Tooling
pnpm workspaces
Turborepo for task orchestration
TypeScript
ESLint & Prettier via shared configuration
Web App (apps/web)
Next.js (App Router)
React
TailwindCSS
Mobile App (apps/mobile)
Expo (React Native)
Expo Router
NativeWind
Backend API (apps/api)
NestJS (modular architecture)
@nestjs/config for environment management
Stellar SDK for interacting with the Stellar RPC & Soroban contracts
Smart Contracts (packages/contracts)
Soroban (Rust)
Soroban CLI
Local Sandbox & Futurenet
Monorepo Layout apps/ web/ # Next.js Frontend mobile/ # Expo Mobile App api/ # NestJS Backend
packages/ contracts/ # Soroban smart contracts (Rust) config/ # Shared ESLint/TS/Prettier config types/ # Shared TypeScript definitions
pnpm-workspace.yaml turbo.json tsconfig.base.json package.json .env.example Getting Started Prerequisites
Node.js (LTS)
pnpm
Rust (nightly recommended)
Soroban CLI Install using:
cargo install --locked soroban-cli Install Dependencies pnpm install Development Run All Apps pnpm dev Web (Next.js) pnpm dev:web Mobile (Expo) pnpm dev:mobile API (NestJS) pnpm dev:api Smart Contracts (Soroban) pnpm dev:contracts Build pnpm build Lint pnpm lint Test pnpm test Format pnpm format Environment Variables
Environment files are not included in the repo. Use .env.example as a template.
Web Environment Variables NEXT_PUBLIC_STELLAR_RPC_URL= NEXT_PUBLIC_LINKORA_WEB_URL= NEXT_PUBLIC_SOROBAN_NETWORK= Mobile Environment Variables EXPO_PUBLIC_STELLAR_RPC_URL= EXPO_PUBLIC_SOROBAN_NETWORK= API Environment Variables API_PORT=4000 API_LOG_LEVEL=debug STELLAR_RPC_URL= SOROBAN_RPC_URL= DATABASE_URL= Contracts Environment Variables SOROBAN_NETWORK=futurenet Contribution Guidelines Repository Scope
Linkora currently focuses on architecture only. Protocol logic should be added only after design consensus.
Coding Standards
Use shared linting & formatting configs
Enforce strict type safety
All reusable logic must go to packages/
Apps → apps/*
Shared libraries → packages/*
PR Requirements
Small, focused changes
All linting & tests must pass
No breaking changes without discussion
Roadmap (High-Level) Phase 1 — Foundation
Monorepo setup
Shared tooling and conventions
Soroban contract templates
Multi-platform application skeletons
Phase 2 — Social Layer
Posting system (on-chain/off-chain hybrid)
Profiles and social graph primitives
Phase 3 — DeFi Layer
Tipping
Creator tokens
Community financial primitives
Phase 4 — Ecosystem
Mobile wallet integrations
Analytics dashboard
Third-party developer APIs
License
MIT License — open for public use and contribution.