StellarTip is a monorepo-based application consisting of three main applications and shared packages.
- Purpose: User interface for creators and tippers
- Tech: Next.js 14, TypeScript, Tailwind CSS
- Features: Creator profiles, tipping interface, dashboard
- Purpose: API server for user management, tips, and blockchain interactions
- Tech: NestJS, TypeScript, PostgreSQL
- Features: Authentication, user profiles, tip processing
- Purpose: Smart contracts for tip transactions
- Tech: Rust, Soroban SDK
- Features: Tip storage, payment processing
- Shared React components and design system
- Configuration utilities and constants
- Shared TypeScript type definitions
- Utility functions and helpers
- Blockchain interaction library (Stellar SDK, Soroban client)
- PostgreSQL hosted on Neon
- Prisma ORM for type-safe database access
- Frontend: Vercel
- Backend: Cloud provider (Heroku/AWS)
- Contracts: Stellar network
- GitHub Actions for automated testing and deployment
- User connects Freighter wallet
- Frontend requests tip creation
- Backend validates and calls smart contract
- Contract processes payment on Stellar
- Backend stores transaction data
- Frontend updates UI with confirmation