A production-ready Web3 application built on the Stellar ecosystem featuring smart contracts, a robust API backend, and a modern web interface.
Organization: NovaCore Labs
Repository: NovaCoreLabs1/StellarVault
Status: Active Development
- Node.js 18+ and npm 9+
- Docker & Docker Compose (for containerized development)
- Rust & Cargo (for smart contracts)
- Soroban CLI (for contract deployment)
# Clone the repository
git clone https://github.com/NovaCoreLabs1/StellarVault.git
cd StellarVault
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env
# Edit .env with your values
# Start development environment
docker-compose up
# In another terminal, run dev server
npm run dev
# Frontend: http://localhost:3000
# Backend API: http://localhost:3001# Install dependencies
npm install
# Development mode (watch all packages)
npm run dev
# Build all packages
npm run build
# Run tests
npm run test
# Run tests with coverage
npm run test:coverage
# Run E2E tests
npm run test:e2e
# Linting
npm run lint
npm run lint:fix
# Code formatting
npm run format
npm run format:check
# Type checking
npm run type-check
# Clean build artifacts
npm run cleanStellarVault/
βββ apps/
β βββ frontend/ # Next.js web application
β βββ backend/ # NestJS API server
β βββ contracts/ # Soroban smart contracts (Rust)
βββ packages/
β βββ ui/ # Shared React components
β βββ config/ # Shared configurations
β βββ types/ # Shared TypeScript types
β βββ utils/ # Shared utilities
βββ infra/
β βββ docker/ # Dockerfile configurations
β βββ ci/ # GitHub Actions workflows
β βββ scripts/ # Automation scripts
βββ docs/
β βββ architecture.md # Architecture overview
β βββ api-spec.md # API documentation
β βββ smart-contracts.md # Smart contract specs
βββ .github/
β βββ workflows/ # CI/CD pipelines
βββ docker-compose.yml # Development environment
βββ turbo.json # Turborepo configuration
βββ .env.example # Environment variable template
Frontend:
- Next.js 14
- React 18
- TypeScript
- Zustand (State Management)
- Axios (HTTP Client)
- Stellar JS SDK
Backend:
- NestJS
- Express
- PostgreSQL
- Redis
- TypeORM
- JWT Authentication
Smart Contracts:
- Rust
- Soroban SDK
- Stellar Network
DevOps:
- Turborepo (Monorepo)
- Docker & Docker Compose
- GitHub Actions
- ESLint & Prettier
- TypeScript
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (Next.js - Port 3000) β
ββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β HTTP/REST
ββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Backend API (NestJS - Port 3001) β
ββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ€
β Auth | Wallet β Transaction | Contract β
β User | Asset β Notification | Queue β
ββββββββββ¬ββββββββ΄βββββββββ¬βββββββββββββββββββββββ
β β
ββββββΌβββββ ββββββΌβββββ
βPostgreSQLβ β Redis β
β Database β β Cache β
ββββββββββββ βββββββββββ
Stellar Blockchain / Soroban
ββββββββββββββββββββββββββββββββββββββββ
β Smart Contracts (Rust - Soroban) β
β ββ VaultContract β
β ββ TokenContract β
β ββ PaymentContract β
ββββββββββββββββββββββββββββββββββββββββ
For detailed architecture, see docs/architecture.md.
The backend provides RESTful APIs for:
- Authentication: User registration, login, token refresh
- Wallet Management: Add, manage, and track wallets
- Assets: Track and manage digital assets
- Transactions: Send, receive, and track transactions
- Smart Contracts: Invoke and monitor contract interactions
- Notifications: Real-time user notifications
- Webhooks: Event-driven integrations
Full API documentation: docs/api-spec.md
The application uses three main smart contracts:
- VaultContract: Core vault functionality (deposits, withdrawals, balance tracking)
- TokenContract: Custom token management (mint, burn, transfer, approve)
- PaymentContract: Payment processing and payment channels
For detailed contract specifications: docs/smart-contracts.md
npm run testnpm run test:coveragenpm run test:e2eTest files are located alongside source files as *.test.ts or *.spec.ts.
docker-compose up
npm run devnpm run build
npm run start --filter=@stellar-vault/frontend
npm run start --filter=@stellar-vault/backenddocker-compose -f docker-compose.yml up -d- Helm charts for Kubernetes deployment
- Scalable infrastructure
- Auto-scaling and load balancing
- JWT-based authentication
- CORS protection
- Rate limiting on API endpoints
- Environment variable isolation
- Smart contract audited for security
- Password hashing with bcrypt
- Input validation and sanitization
- Error Tracking: Sentry integration (optional)
- Application Metrics: Performance monitoring
- Database Monitoring: Query performance tracking
- Health Checks:
/healthendpoint on backend - Logging: Structured logging with levels (debug, info, warn, error)
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test your changes (
npm run test) - Follow code style (
npm run format && npm run lint) - Commit with clear messages
- Push to your branch
- Open a Pull Request
- Linting: ESLint configuration enforced
- Formatting: Prettier for consistent code style
- Type Safety: Strict TypeScript configuration
- Testing: Maintain 80%+ code coverage
- Documentation: Update docs for new features
See GitHub Issues for tasks and features to work on.
- Architecture - System design and technology stack
- API Specification - Complete API reference with examples
- Smart Contracts - Contract specifications and functions
Track and contribute to development:
- Discussions: GitHub Discussions for questions and ideas
- Issues: Report bugs and request features via GitHub Issues
- Documentation: Check docs/ for detailed information
- Email: support@stellarvault.io
This project is licensed under the MIT License - see LICENSE file for details.
- Stellar Development Foundation
- Soroban Smart Contract Platform
- NestJS Community
- Next.js Community
- All contributors and supporters
- β Project setup and monorepo configuration
- β Core smart contracts
- β³ Basic wallet integration
- β³ Transaction management
- β³ Simple UI interface
- Advanced wallet features
- Multi-signature wallets
- DeFi integrations
- Enhanced UI/UX
- Mobile app
- Payment gateway integration
- Advanced analytics
- API marketplace
- SDK distribution
- Enterprise features
Built with β€οΈ by NovaCore Labs