Secure and user-friendly digital token management platform built by Greenstand
Greenstand offers a secure, user-friendly wallet for seamless token transfers, built with enterprise-grade security and a scalable monorepo architecture supporting web, mobile, and backend services.
Treetracker Wallet App is part of the Greenstand ecosystem, enabling transparent and verifiable tree planting and forest management through blockchain technology.
- Node.js (v20 or higher)
- Yarn (v1.22 or higher)
- Docker (for backend development)
# Clone, and install dependencies, and start development
git clone https://github.com/Greenstand/treetracker-wallet-app.git
cd treetracker-wallet-app && yarn install
yarn web:dev
# Opens http://localhost:3000
# Terminal 1: Start backend API
yarn user:dev
# Terminal 2: Start web application
yarn web:dev
# Terminal 3: Start mobile app
yarn native:start
# Run E2E tests (recommended for understanding the project)
yarn cypress-e2e-test
# Or run headless tests
yarn cypress-e2e-headless-test
π‘ Tip: Run the E2E tests to understand what this project does and how the apps work together!
Added comprehensive end-to-end testing using WebdriverIO for the wallet application, covering:
- β Login flow (success & failure cases)
- β Wallet creation process
- β User registration workflow
- and more
Run these from the repository root:
# Run all E2E tests
yarn bdd:e2e
# Run specific test suite
yarn bdd:e2e:login
yarn bdd:e2e:register
yarn bdd:e2e:wallet
# Debug mode (verbose output)
yarn bdd:e2e:debug
# Update ChromeDriver (if tests fail)
yarn bdd:e2e:update-driver
Sample Output:
<img width="976" height="632" alt="image" src="https://github.com/user-attachments/assets/456c64cf-b92f-4030-bf96-7b56bfdaa800" />
$ yarn test:e2e
[chrome] β Login - Valid credentials (4.2s)
[chrome] β Wallet Creation - Basic flow (6.1s)
[chrome] β Registration - Email signup (5.8s)
- All tests pass locally (
yarn test:e2e
) - No production code modified
- Test data follows PII guidelines
- ChromeDriver version (v136) matches CI
- Documentation updated if needed
The backend must be running for the tests to function. You can start it with:
yarn workspace web dev
Also, ensure you have Chrome v136+ installed.
treetracker-wallet-app/
βββ apps/
β βββ web/ # Next.js 14 web application
β βββ native/ # React Native mobile app (Expo)
β βββ user/ # NestJS backend API service
βββ packages/
β βββ core/ # Shared business logic (jotai)
β βββ queue/ # Message queue utilities
Ready to contribute? Here's your path from setup to deployment:
- Fork the repository on GitHub
git clone https://github.com/YOUR_USERNAME/treetracker-wallet-app.git
cd treetracker-wallet-app
yarn install
Perfect for UI/UX improvements and frontend features
yarn web:dev
# β http://localhost:3000
For cross-platform mobile features
yarn native:start
# β Scan QR code with Expo Go app
For API development and database work
# Setup environment (first time only)
cp apps/user/.env.example apps/user/.dev.env
# β Edit .dev.env with your configuration
yarn user:dev
# β http://localhost:8080
Run all services for integrated development:
# Individual terminals
yarn web:dev # Terminal 1
yarn user:dev # Terminal 2
yarn native:start # Terminal 3
# E2E tests (best way to understand the project)
yarn cypress-e2e-test
# Headless testing
yarn cypress-e2e-headless-test
# Unit tests
yarn test
# Lint and format
yarn lint:fix
We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, your help makes Treetracker better.
π Read our full Contributing Guide β
The contributing guide covers everything you need: setup, workflows, coding standards, testing, and review processes.
- Documentation: Start with this README and Contributing Guide
- Issues: Report bugs and request features on GitHub Issues
- Slack: Join our Slack community (Ask the maintainers for an invite)
- Discussions: Ask questions in Slack