This platform is inspired by eBird and iNaturalist, built to foster interest in wildlife, conservation, birdwatching, and photography.
My passion for nature and technology drove me to create a space where enthusiasts can log, track, and share their observations while contributing to conservation efforts.
π Track & Log Sightings β Users can submit observations of birds, mammals, insects, fungi, and plants.
πΊοΈ Trail Tracking β Track movement in real-time or manually plot trails and submit multiple sightings.
πΈ Media Uploads & Peer Reviews β Users can add images, audio, and video to validate sightings, with community-driven peer reviews for accuracy.
π Gamified Leaderboard β Encourages users to explore more by ranking contributions.
π₯ Community & Collaboration β Engage in discussions, plan meetups, and get feedback on wildlife photography.
(This is just the plan... It is subject to changes. )
- Framework: React.js with Vite
- UI Library: Tailwind CSS
- Maps & Geolocation: Google Maps API (interactive mapping)
- File Storage: Firebase Storage / Cloudinary (for media uploads)
- Authentication: JWT & Google OAuth
- Framework: Express.js (REST API development)
- Database: MongoDB + Mongoose (flexible document storage)
- Authentication: JWT-based authentication & Google OAuth
- Geospatial Queries: MongoDBβs
$geoNear(find nearby sightings & trails) - API Integrations: Google Maps API, ( eBird API, iNaturalist (if it exists, for further integrations between platforms) )
- Frontend Deployment: Vercel / Netlify (Current) / Cloudflare
- Backend Deployment: Railway / Render (Current) / DigitalOcean / Google Cloud Run
- Database Hosting: MongoDB Atlas
- Storage: Cloudinary
- Monitoring & Logs: LogRocket (frontend) + Datadog (backend)
β
Users can log wildlife sightings with species details, location, date, and media uploads.
β
Geospatial search enables users to find sightings near them.
β
Users can track their movement via GPS and save/share trails. (Future Scope: Allow manual plotting for better flexibility.)
β
Heatmaps & Hotspots to visualize high-activity wildlife zones.
β
Photo Ratings & Feedback β Get constructive feedback from fellow wildlife photographers.
β
Discussion Forums & Groups β Plan birdwatching events, co-explore trails, and share resources.
β
Secure authentication via JWT & Google OAuth.
β
Personalized dashboard to track user sightings, trails, and feedback.
π AI-Powered Species Recognition (Google Vision API / TensorFlow.js).
π Computer Vision for Photo Rating (Analyzing sharpness, focus, composition).
π ML-based Predictive Wildlife Movement (Best times & locations for spotting species).
- Day 1: Brainstormed ideas and outlined project goals.
- Day 2: Reviewed & refined features with feedback from Rutuj & Arnab.
- Day 3: Started low-fidelity design in Figma, finalized main focus areas.
- Day 4: Continued low-fidelity wireframes, prepared for high-fidelity design.
- Day 5: Worked on high-fidelity UI (visual design, colors, branding).
- Day 6: Started project setup on GitHub (initialized frontend & backend).
- Ongoing: Yet to be planned β refer to project roadmap for details.
Check out the main project roadmap for the latest progress and feature implementations.
This document serves as a brief assignment overview and will evolve as development progresses.
Please note that the deployed links may not work as intended yet... They still need to be integrated together!
Thank you for your interest in contributing to Terraquest! Please follow these guidelines to set up the project locally and submit a Pull Request (PR).
- Fork the repository on GitHub.
- Clone the forked repository to your local machine using the following command:
git clone <your-forked-repo-url>
- Ensure that Node.js and npm are installed on your system. If not, refer to the official installation guide.
- Navigate to the cloned repository in your terminal:
cd terraquest - Install frontend dependencies:
cd frontend npm install - Install backend dependencies:
cd ../backend npm install - Start the frontend development server:
cd ../frontend npm run dev - Start the backend server:
cd ../backend npm run server - Make your changes and test the functionality.
- Lint and format your code before committing:
npm run format:file <file-path>
- Commit your changes:
git add . git commit -m "Describe your changes" git push origin <your-branch-name>
- Open a Pull Request (PR) on GitHub from your forked repository to the main repository. (Please note that your PR must pass the Workflows assigned. If not your contribution cannot be merged. Please fix the issue and commit again.)
- Once reviewed, your changes will be merged. π
π TerraQuest β made with β€οΈ in India by Mayur K Setty. All rights reserved!
