Net Zero Campus is a full-stack web application designed to help educational institutions track and achieve their sustainability goals. The platform provides real-time monitoring of energy consumption, water usage, waste management, and mobility patterns while gamifying the sustainability journey through challenges, leaderboards, and achievement systems.
- Multi-role Authentication (Admin, Faculty, Students)
- Real-time Dashboard with comprehensive metrics
- Energy Monitoring - Track electricity consumption and renewable sources
- Water Management - Monitor usage patterns and conservation efforts
- Waste Tracking - Manage recycling rates and reduction goals
- Mobility Analytics - Track transportation methods and carbon footprint
- AI-Powered Recommendations - Get personalized sustainability insights
- Interactive leaderboards by department and role
- Sustainability challenges and competitions
- Achievement badges and reward system
- Progress tracking toward Net Zero goals
- Team collaboration features
- Interactive charts using Recharts
- Real-time metrics and trend analysis
- Progress bars and goal tracking
- Comparative analytics between departments
- React.js with TypeScript
- Redux Toolkit for state management
- Tailwind CSS for styling
- Recharts for data visualization
- Firebase Auth for authentication
- Node.js with Express.js
- MongoDB with Mongoose ODM
- Firebase Admin SDK
- OpenAI API for AI recommendations
- WebSocket for real-time updates
net-zero-campus/
├── client/ # React Frontend
├── server/ # Node.js Backend
├── shared/ # Shared types and utilities
├── docs/ # Documentation
└── scripts/ # Build and deployment scripts
- Node.js (v16 or higher)
- MongoDB (local or Atlas)
- Firebase project setup
- OpenAI API key (optional)
-
Create a Firebase Project
- Go to Firebase Console
- Click "Add project" and follow the setup wizard
- Name your project (e.g., "net-zero-campus")
-
Enable Authentication
- In the Firebase Console, go to "Authentication" → "Sign-in method"
- Enable "Email/Password" provider
- Click "Save"
-
Set up Firestore Database
- Go to "Firestore Database" in the Firebase Console
- Click "Create database"
- Start in "Test mode" (for development only)
- Choose a location and click "Enable"
-
Register Web App
- Click the settings gear icon (Project settings)
- Under "Your apps", click the web icon (</>)
- Register your app with a nickname (e.g., "Net Zero Campus")
- Copy the Firebase configuration object
-
Configure Environment Variables
- Update
client/.envwith your Firebase configuration:REACT_APP_FIREBASE_API_KEY=your_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com REACT_APP_FIREBASE_PROJECT_ID=your_project_id REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id REACT_APP_FIREBASE_APP_ID=your_app_id REACT_APP_USE_MOCK_AUTH=false
- Update
-
Clone the repository
git clone <repository-url> cd net-zero-campus
-
Install all dependencies
npm run install:all
-
Environment Setup
- Copy
.env.examplefiles in both client and server directories - Update environment variables with your configuration
- Copy
-
Database Setup
# Start MongoDB (if running locally) mongod # Seed the database (optional) npm run seed
-
Start Development Servers
npm run dev
This will start both the client (http://localhost:3000) and server (http://localhost:5000)
- Firebase Authentication with custom claims
- Role-based access control (Admin, Faculty, Student)
- Protected routes and API endpoints
- User profile management
- Conditional mock/real implementation for development
- Real-time metric cards
- Interactive data visualizations
- Progress tracking for Net Zero goals
- AI-powered recommendation cards
- Responsive design for all devices
- Comprehensive tracking of sustainability metrics
- Real-time data aggregation and analytics
- Historical data analysis and trends
- Export capabilities for reporting
- Context-aware sustainability recommendations
- Predictive analytics for resource optimization
- Automated insights and alerts
- Personalized action plans
- Leaderboards: Department and individual rankings
- Challenges: Monthly sustainability competitions
- Badges: Achievement system for milestones
- Progress Tracking: Visual progress toward goals
- Team Collaboration: Group challenges and achievements
The application is built with a mobile-first approach, ensuring optimal performance and usability across all devices and screen sizes.
- Firebase Authentication integration
- JWT token validation
- Role-based API access control
- Data sanitization and validation
- Rate limiting and security headers
This platform helps institutions:
- Reduce energy consumption by up to 25%
- Improve recycling rates by 40%
- Decrease water usage by 20%
- Lower overall carbon footprint
- Achieve Net Zero goals faster through data-driven decisions
We welcome contributions! Please read our contributing guidelines and submit pull requests for any improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please open an issue in the GitHub repository or contact our team.
Built with 💚 for a sustainable future