EcoMap is a platform for biodiversity conservation that identifies biodiversity hotspots of various animals across India using user-provided data, commonly referred to as citizen science.
EcoMap is a Node.js-based application designed to manage and process environmental data efficiently. It uses Express for the backend framework, Mongoose for database operations, and integrates cloud storage via Cloudinary.
- Role-based access control for Admins, Experts, and Users
- Password recovery with OTP verification
- User management (registration, login, profile updates, and deletion)
- Expert contributions and approval system of spottings
- Admin panel for managing users, experts, and species data
- Spotting system for users to report species sightings
- Species occurrence tracking and mapping
- GeoJSON-based mapping for environmental data visualization
- Node.js (>=14.x recommended)
- MongoDB
-
Clone the repository:
git clone https://github.com/chrixjohn/EcoMap.git cd ecomap -
Install dependencies:
npm install
-
Set up environment variables:
- Copy
.env.exampleto.envand configure your environment variables.
- Copy
-
Start the application:
- For production:
npm start
- For development:
npm run dev
- For production:
npm start- Runs the application in production mode.npm run dev- Runs the application with nodemon for live development.npm test- Placeholder for running tests.
- Express - Web framework
- Mongoose - MongoDB ODM
- Cloudinary - Cloud storage
- Multer - File upload middleware
- jsonwebtoken - Authentication
- bcrypt - Password hashing
- dotenv - Environment variable management
- cors - Cross-origin resource sharing
- crypto - Cryptographic functions for security
- nodemailer - Email handling
This project is licensed under the MIT License.