Skip to content

floklein/terra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terra

An animal identification app built with Expo. Scan animals using your camera and build a collection of identified species in a Pokedex-style grid.

Features

  • Camera Scanning: Identify animals in real-time using your device camera
  • Trading Cards: Each scan generates a Pokemon-style trading card with 3D tilt effects and holographic overlays
  • Rarity System: 7 rarity levels (Common to Gold ex) based on identification confidence
  • Terradex: Pokedex-style collection grid organized by taxonomic class and family, tracking ~200 species across 10 classes
  • Social Feed: Browse all animal posts from the community
  • Cross-Platform: Runs on iOS, Android, and web

Tech Stack

  • Framework: Expo (React Native) with file-based routing (expo-router)
  • Language: TypeScript (strict mode)
  • Database: PostgreSQL with Drizzle ORM
  • Authentication: BetterAuth with Expo plugin
  • Styling: Platform-specific UI (LiquidGlass on iOS, Material on Android)

Getting Started

Prerequisites

  • Node.js
  • PostgreSQL database
  • Expo CLI

Environment Variables

Create a .env file with:

DATABASE_URL=your_postgres_connection_string
BETTER_AUTH_URL=your_auth_api_url
BETTER_AUTH_SECRET=your_secret_key
ANIMAL_DETECT_API_KEY=your_api_key

Installation

npm install

Database Setup

npx drizzle-kit push    # Push schema to database (dev)
npm run seed             # Seed with sample data

Run the App

npm start               # Start Expo dev server
npm run ios             # Run on iOS simulator
npm run android         # Run on Android emulator
npm run web             # Run in web browser

Project Structure

app/
├── (tabs)/              # Tab navigation (Feed, Terradex, Account)
├── api/                 # API routes (auth, cards, terradex, detect)
├── camera.tsx           # Camera scanning screen
└── result.tsx           # Scan result screen
components/              # Reusable components (AnimalCard variants)
db/                      # Database schema and connection
services/                # Animal detection, species database, storage
utils/                   # Auth configuration

About

Animal identification app built with Expo: scan wildlife, collect rarity-based cards, and complete your Terradex.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors