Making sustainability simple, one step at a time ๐โจ
A modern, feature-rich web application for tracking your daily carbon footprint with beautiful visualizations, personalized insights, and actionable sustainability tips. Built with Django and featuring a stunning green-themed UI with dynamic island-style navigation.
- Modern iOS-inspired floating navigation bar
- Smooth animations and hover effects with backdrop blur
- Responsive design that adapts seamlessly to all screen sizes
- Active state indicators and delightful micro-interactions
- Real-time COโ tracking with interactive Chart.js visualizations
- Weekly emissions trends and category breakdowns
- Progress tracking towards personalized daily goals
- Recent activities overview with impact level indicators
- Real-time COโ estimation as you type
- Quick-add buttons for common daily activities
- Comprehensive database with 60+ emission factors
- Category-based organization (๐ Transport, โก Energy, ๐ฝ๏ธ Food, ๐ป Digital)
- AI-driven recommendations based on your activity patterns
- Category-specific actionable advice
- Interactive tip cards with completion tracking
- Social sharing functionality for spreading awareness
- Professional green color palette (Emerald & Teal themes)
- Glassmorphism effects and smooth gradients
- Modern typography using Inter font family
- Mobile-first responsive design principles
- Accessibility-focused with WCAG compliance
- Beautiful login/registration forms with validation
- Password strength indicators and security features
- Environmental facts sidebar during authentication
- Animated community statistics and user onboarding
Technology | Purpose | Icon |
---|---|---|
Django 5.1 | Backend Framework | ๐ |
Python 3.8+ | Core Language | ๐ |
SQLite | Database | ๐พ |
HTML5 | Structure | ๐๏ธ |
CSS3 | Modern Styling | ๐จ |
JavaScript | Interactivity | โก |
Chart.js | Data Visualization | ๐ |
- MVC Pattern: Clean separation of concerns
- Custom Template Tags: Advanced template functionality
- Management Commands: Automated data population
- Responsive Design: Mobile-first approach
- Performance Optimized: Efficient database queries
- Security: CSRF protection, secure authentication
- ๐ Python 3.8+ installed
- ๐ฆ pip package manager
- ๐ง Virtual environment (recommended)
-
๐ Clone the Repository
git clone https://github.com/yourusername/greensteps.git cd greensteps
-
๐ง Create Virtual Environment
# Create virtual environment python -m venv greensteps_env # Activate (Windows) greensteps_env\Scripts\activate # Activate (macOS/Linux) source greensteps_env/bin/activate
-
๐ฆ Install Dependencies
pip install django pip install pillow # For image handling
-
๐ Set Up Directory Structure
# Create required directories mkdir -p templates/registration mkdir -p static/css mkdir -p tracker/templatetags mkdir -p tracker/management/commands # Create __init__.py files touch tracker/templatetags/__init__.py touch tracker/management/__init__.py touch tracker/management/commands/__init__.py
-
๐๏ธ Database Setup
# Create and apply migrations python manage.py makemigrations tracker python manage.py migrate # Create superuser account python manage.py createsuperuser
-
๐ฑ Populate Emission Factors
# Load comprehensive emission factors database python manage.py populate_emission_factors
This adds 60+ emission factors including:
- ๐ Transportation: Cars, buses, trains, flights, cycling
- โก Energy: Grid electricity, solar, heating systems
- ๐ฝ๏ธ Food: Various meals, drinks, dietary choices
- ๐ป Digital: Streaming, gaming, web browsing, cloud storage
-
๐ Launch Application
python manage.py runserver
๐ Visit: http://127.0.0.1:8000
- Register your account with personalized daily COโ goals
- Log activities - transportation, meals, energy usage, digital activities
- View dashboard - track trends and progress with interactive charts
- Get insights - receive personalized sustainability recommendations
- Take action - implement tips and monitor your improvement
- Today's Impact: Real-time COโ emissions with goal progress
- Weekly Trends: Visual charts showing your environmental footprint
- Category Breakdown: Understand which activities impact you most
- Recent Activities: Quick overview of logged actions
- Personalized tips based on your highest emission categories
- Actionable advice for reducing your carbon footprint
- Progress tracking and motivational content
- Social sharing to inspire others
- 60+ Emission Factors covering daily activities
- Real-time Calculations with instant feedback
- Category Organization for better insights
- Historical Analysis with trend visualization
- Intuitive Interface with modern design principles
- Smooth Animations and micro-interactions
- Mobile Responsive design for all devices
- Accessibility Features for inclusive usage
- Scientific Accuracy with researched emission factors
- Personalized Recommendations based on usage patterns
- Progress Visualization with interactive charts
- Goal Setting and achievement tracking
- โ CSRF Protection for secure forms
- โ User Authentication with secure password handling
- โ SQL Injection Prevention with Django ORM
- โ Optimized Queries for fast loading
- โ Static File Optimization for better performance
- โ Mobile Performance optimized for all devices
Modify the green color palette in static/css/styles.css
:
:root {
--emerald-500: #10b981; /* Primary green */
--teal-500: #14b8a6; /* Secondary green */
/* Add your custom colors */
}
- Via Admin Panel:
/admin/
โ Emission Factors - Via Management Command: Edit
populate_emission_factors.py
- Programmatically: Use Django ORM in shell
- Update
CATEGORY_CHOICES
inmodels.py
- Add corresponding icons in templates
- Run migrations:
python manage.py makemigrations && python manage.py migrate
Beautiful hero section with feature showcase and call-to-action
Real-time COโ estimation with quick-add functionality
Personalized recommendations with progress tracking
- Environment Variables: Create
.env
file with production settings - Database: Consider PostgreSQL for production
- Static Files: Configure for production serving
- Security: Update
ALLOWED_HOSTS
and security settings
- Heroku: Easy deployment with PostgreSQL add-on
- DigitalOcean: App Platform or Droplets
- AWS: Elastic Beanstalk or EC2
- PythonAnywhere: Simple Django hosting
We welcome contributions! Here's how you can help:
- ๐ด Fork the repository
- ๐ฟ Create a feature branch (
git checkout -b feature/amazing-feature
) - ๐พ Commit your changes (
git commit -m 'Add amazing feature'
) - ๐ค Push to the branch (
git push origin feature/amazing-feature
) - ๐ Open a Pull Request
- Follow Django best practices
- Write tests for new features
- Update documentation
- Follow the existing code style
- Add meaningful commit messages
- Lines of Code: 3,000+
- Templates: 8 responsive templates
- Models: 3 core models with relationships
- Views: 10+ feature-rich views
- Emission Factors: 60+ pre-configured factors
- CSS Classes: 200+ modern utility classes
This project demonstrates:
- Full-Stack Web Development with Django
- Modern CSS techniques (Flexbox, Grid, Animations)
- JavaScript interactivity and Chart.js integration
- Database Design and relationships
- User Experience design principles
- Responsive Web Design best practices
- Environmental Awareness through technology
- ๐ API Integration: Weather data correlation
- ๐ฑ Mobile App: React Native companion
- ๐ Social Features: Community challenges
- ๐ Advanced Analytics: ML predictions
- ๐ Multi-language: Internationalization
- ๐ IoT Integration: Smart device connectivity
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Ammar Elbedweihy
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Ammar Elbedweihy
- ๐ผ LinkedIn: linkedin.com/in/ammar-elbedweihy
- ๐ง Email: [email protected]
- ๐ GitHub: github.com/ammarelbedweihy
- ๐ Bug Reports: Open an issue on GitHub
- ๐ก Feature Requests: Discussion tab in repository
- โ Questions: Email or LinkedIn message
- ๐ค Collaboration: Always open to interesting projects!
- ๐ Environmental Data: Based on scientific research and carbon footprint studies
- ๐จ Design Inspiration: Modern web design trends and sustainability-focused UIs
- ๐ Chart.js: For beautiful, interactive data visualizations
- ๐ Django Community: For the amazing framework and ecosystem
- ๐ Sustainability Movement: For inspiring this project's mission
- Carbon Awareness: Helps users understand their daily impact
- Behavior Change: Provides actionable insights for reduction
- Education: Raises awareness about sustainability
- Community: Encourages sharing of green practices
- Performance Score: 95+ on Lighthouse
- Accessibility: WCAG 2.1 AA compliant
- Mobile Responsive: Works on all device sizes
- Load Time: Under 2 seconds initial load
Made with ๐ for a sustainable future
๐ฑ Every small action counts towards a greener future! ๐โจ
GreenSteps - Track your carbon footprint, make a difference, one step at a time. ๐