Climate change is a pressing global issue. EcoNauts empowers users to make impactful decisions on renewable energy by visualizing and comparing the sustainability of wind and solar energy placements.
- Interactive Map: Place markers anywhere on the map to simulate wind or solar energy installations.
- Sustainability Score: Instantly receive a detailed sustainability score for each marker, based on real-world weather and environmental data.
- Energy Output Prediction: Uses machine learning models to predict the energy output for both wind and solar at the selected location.
- Comparison & Visualization: View graphs and detailed breakdowns to compare the sustainability and output of different energy sources at your chosen site.
- React (with Vite)
- Mapbox GL JS (interactive maps)
- Tailwind CSS (styling)
- Framer Motion (animations)
- Recharts (data visualization)
- DaisyUI (UI components)
- FastAPI (REST API)
- Python 3.12
- Machine Learning:
- RandomForestRegressor (scikit-learn)
- Artificial Neural Network (TensorFlow)
- pandas, numpy, joblib (data processing)
- Weather APIs:
- WeatherAPI
- Open-Meteo
- OpenWeatherMap
- pvlib (solar calculations)
- Docker (containerization)
- Docker Compose (multi-service orchestration)
- Frontend: Built with React and Mapbox for interactive marker placement. Users can add, drag, and name markers, then calculate energy output and sustainability scores.
- Backend: FastAPI serves as the API layer, running ML models for wind and solar prediction. Features are engineered from real-time weather data fetched from multiple APIs.
- ML Models:
- Wind: RandomForestRegressor
- Solar: Artificial Neural Network (ANN)
- Sustainability Score: Combines predicted output with environmental and economic factors (emissions, land use, water use, cost, scalability) for a holistic score.
- Dockerized: Both frontend and backend are containerized for easy deployment and reproducibility.
- Integrating Docker with both the frontend and backend, ensuring seamless communication and reproducibility.
- Successfully rendering the API and using map markers to get real-time sustainability scores.
- End-to-end integration of ML models, weather APIs, and interactive UI.
- Docker integration for full-stack projects.
- Real-world ML model deployment and API design.
- UI/UX improvements
- More energy sources and advanced sustainability metrics
- Enhanced data visualization and reporting
- Docker
- FastAPI
- Mapbox
- Numpy
- Open-Meteo
- Pandas
- React
- Scikit-learn
- Tailwind CSS
- TensorFlow
- WeatherAPI
- Docker & Docker Compose
- (Optional for local dev) Node.js, Python 3.12, pip
- Clone the repository:
git clone <repo-url> cd GreenPlacement
- Set up environment variables:
- Create a
.envfile inbackend/with your API keys (WeatherAPI, Open-Meteo, Mapbox, etc.). Example:WEATHER_API=your_weather_api_key OPEN_METEO_API=your_open_meteo_api_key MAPBOX_API=your_mapbox_api_key
- Create a
- Run with Docker Compose:
docker-compose up --build
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8000cd frontend
npm install
npm run dev- Open the frontend in your browser.
- Place markers on the map to simulate wind or solar installations.
- Click "Calculate Energy Output" to get predictions and sustainability scores.
- View detailed breakdowns and graphs for each marker.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project was built for a hackathon by a team of 4. Please contact the authors for reuse or collaboration.