Skip to content
Mayur K Setty edited this page Apr 16, 2025 · 2 revisions

TerraQuest Wiki

Github frame

Welcome to TerraQuest's Wiki page!

Concept

TerraQuest is a nature-first platform inspired by eBird and iNaturalist, designed to encourage wildlife conservation, birdwatching, trail exploration, and nature photography.

Driven by a deep passion for both nature and technology, TerraQuest provides a dedicated space where users can:

  • Log and track wildlife sightings
  • Share observations with media
  • Contribute to citizen science and conservation efforts

Core Features

  • 📍 Track & Log Sightings — Submit observations of birds, mammals, insects, fungi, and plants.
  • 🗺️ Trail Tracking — Track movement via GPS or manually plot trails; attach multiple sightings.
  • 📸 Media Uploads & Peer Reviews — Add photos, audio, and videos. Get validation through community reviews.
  • 🏆 Gamified Leaderboard — Explore and contribute to climb the ranks!
  • 👥 Community & Collaboration — Engage in forums, plan meetups, and improve your wildlife photography.

Note: This is the planned feature list and may evolve over time.


Tech Stack

Frontend (React + Vite)

  • Framework: React.js with Vite for lightning-fast performance
  • UI: Tailwind CSS / ShadCN for responsive, modern interfaces
  • Maps & Geolocation: Leaflet.js / Google Maps API
  • Media Uploads: Firebase Storage / Cloudinary
  • Auth: NextAuth.js / Firebase Auth (JWT & Google OAuth)

Backend (Node.js + Express + MongoDB)

  • Framework: Express.js REST API
  • Database: MongoDB + Mongoose
  • Authentication: JWT + Google OAuth
  • Geospatial Queries: MongoDB $geoNear
  • API Integrations: Google Maps API, eBird API, iNaturalist API (future scope)

Deployment & DevOps

  • Frontend: Vercel / Netlify
  • Backend: Railway / Render / DigitalOcean
  • Database Hosting: MongoDB Atlas
  • Media Storage: Firebase / Cloudinary
  • Monitoring: LogRocket (frontend), Datadog (backend)

Key Features & Differentiation

1️⃣ Sightings & Photo Uploads

  • Log wildlife observations with species name, location, date, and media
  • Discover nearby sightings using geospatial filters

2️⃣ Interactive Trail Tracking

  • GPS-based live tracking & manual plotting (upcoming)
  • Visualize high-density wildlife zones via heatmaps & hotspots

3️⃣ Community-Driven Features

  • Rate photos & offer constructive photography feedback
  • Join forums and discussion groups to connect with other enthusiasts

4️⃣ Authentication & Personalization

  • JWT & Google OAuth
  • User dashboards for tracking personal sightings and trails

5️⃣ AI-Powered Enhancements (Future Scope)

  • 🚀 AI Species Recognition (Google Vision / TensorFlow.js)
  • 👀 Computer Vision for auto-rating photo quality
  • 🤖 ML-based wildlife movement prediction

Project Status & Updates

This wiki serves as a live overview of TerraQuest's direction. Feature rollout and progress can be tracked via the main project roadmap.


🌍 Contributing to TerraQuest

We welcome your contributions! Please follow the steps below to get started:

Set Up Locally

  1. Fork the repository
  2. Clone to your system:
    git clone <your-forked-repo-url>
  3. Ensure Node.js & npm are installed

Install Dependencies

cd terraquest
cd frontend && npm install
cd ../backend && npm install

Start Development Servers

# Frontend
cd ../frontend
npm run dev

# Backend
cd ../backend
npm run server

Commit & Submit PR

# Format before committing
npm run format:file <file-path>

git add .
git commit -m "Describe your changes"
git push origin <your-branch-name>

Then, open a Pull Request on GitHub. Make sure all workflows pass.

Once reviewed, your PR will be merged. 🎉