Skip to content

Greenstand/treetracker-wallet-app

Repository files navigation

🌳 Treetracker Wallet App

Next.js React Native NestJS TypeScript

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.

⚑ Quick Start

Prerequisites

  • Node.js (v20 or higher)
  • Yarn (v1.22 or higher)
  • Docker (for backend development)

πŸš€ One-Command Setup

# Clone, and install dependencies, and start development
git clone https://github.com/Greenstand/treetracker-wallet-app.git
cd treetracker-wallet-app && yarn install

πŸƒβ€β™‚οΈ Start Development

Option 1: Quick Web Development

yarn web:dev
# Opens http://localhost:3000

Option 2: Full Stack Development

# Terminal 1: Start backend API
yarn user:dev

# Terminal 2: Start web application
yarn web:dev

# Terminal 3: Start mobile app
yarn native:start

πŸ§ͺ Testing

# 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!

πŸ—οΈ Project Structure

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

πŸš€ Development Guide

Ready to contribute? Here's your path from setup to deployment:

  1. Fork the repository on GitHub

1. Initial Setup

git clone https://github.com/YOUR_USERNAME/treetracker-wallet-app.git
cd treetracker-wallet-app
yarn install

2. Choose Your Development Path

🌐 Web Development

Perfect for UI/UX improvements and frontend features

yarn web:dev
# β†’ http://localhost:3000

πŸ“± Mobile Development

For cross-platform mobile features

yarn native:start
# β†’ Scan QR code with Expo Go app

πŸ”§ Backend Development

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

3. Full Stack Development

Run all services for integrated development:

# Individual terminals
yarn web:dev     # Terminal 1
yarn user:dev    # Terminal 2
yarn native:start # Terminal 3

πŸ§ͺ Testing & Quality

Quick Testing

# 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

🀝 Contributing

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.

🀝 Community & Support

Get Help

  • 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