Bitriel is a comprehensive digital ecosystem app that goes beyond traditional crypto wallets. Built similar to Binance or Alipay, it offers a super-app experience with financial services, marketplace integrations, entertainment, gaming, and an extensive loyalty rewards program - all powered by cryptocurrency and Web3 technology.
- Personalized home dashboard with portfolio overview
- Real-time balance tracking and performance metrics
- Quick access to essential financial functions
- Financial Services: DeFi, staking, lending, savings
- Marketplace: Bill payments, shopping, travel booking
- Entertainment: Web3 games, NFT marketplace, streaming
- Tools: Mini apps, analytics, developer APIs
- Points-based loyalty system with tier benefits
- Achievement tracking and gamification
- Cashback rewards and referral programs
- Extensive reward catalog for redemptions
- Multi-wallet support with secure backup
- KYC verification and tier progression
- Comprehensive security settings
- Integrated support system
This Turborepo includes the following packages/apps:
mobile
: React Native app with Expo (Main ecosystem app)api
: Node.js backend with authentication and wallet servicesweb
: Next.js web applicationdocs
: Documentation site@bitriel/wallet-sdk
: Comprehensive wallet SDK with multi-chain support@repo/ui
: Shared React component library@repo/eslint-config
: ESLint configurations@repo/typescript-config
: TypeScript configurations
Each package/app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
To build all apps and packages, run the following command:
cd my-turborepo
yarn build
To develop all apps and packages, run the following command:
cd my-turborepo
yarn dev
Tip
Vercel Remote Cache is free for all plans. Get started today at vercel.com.
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd my-turborepo
npx turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
npx turbo link
This monorepo includes Docker configuration for running all services (API, Web, and Docs) in containers.
- Docker and Docker Compose installed on your system
- Node.js 18 or higher (for local development)
To run all services in production mode:
docker-compose up -d
This will start:
- API service on port 8000
- Web application on port 3000
- Documentation on port 3001
To run the development environment with hot-reloading:
docker-compose --profile dev up
This will start all services in development mode with hot-reloading enabled.
Each service has its own Dockerfile for better maintainability:
# Build API only
docker build -f Dockerfile.api -t bitriel-api .
# Build Web app only
docker build -f Dockerfile.web -t bitriel-web .
# Build Docs only
docker build -f Dockerfile.docs -t bitriel-docs .
# Build Development environment
docker build -f Dockerfile.dev -t bitriel-dev .
For production deployment, make sure to set the following environment variables:
- For API: Create a
.env
file in theapps/api
directory - For Web: Create a
.env.local
file in theapps/web
directory - For Docs: Create a
.env.local
file in theapps/docs
directory
Learn more about the power of Turborepo: