Skip to content

๐ŸŒฑ Modern Django web app for tracking daily carbon footprint with beautiful UI, real-time analytics, and personalized sustainability tips

License

Notifications You must be signed in to change notification settings

ammartech/GreenStep-Django

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒฑ GreenSteps - Carbon Footprint Tracker

Python Django HTML5 CSS3 JavaScript Chart.js SQLite

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.

GreenSteps Demo


๐ŸŽฏ Features

๐Ÿ๏ธ Dynamic Island 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

๐Ÿ“Š Smart Analytics Dashboard

  • 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

๐Ÿ“ Intelligent Activity Tracking

  • 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)

๐Ÿ’ก Personalized Sustainability Tips

  • AI-driven recommendations based on your activity patterns
  • Category-specific actionable advice
  • Interactive tip cards with completion tracking
  • Social sharing functionality for spreading awareness

๐ŸŽจ Modern Design System

  • 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

๐Ÿ” Complete Authentication System

  • Beautiful login/registration forms with validation
  • Password strength indicators and security features
  • Environmental facts sidebar during authentication
  • Animated community statistics and user onboarding

๐Ÿ› ๏ธ Tech Stack

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 ๐Ÿ“Š

๐Ÿ—๏ธ Architecture Features

  • 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

๐Ÿš€ Quick Start Guide

๐Ÿ“‹ Prerequisites

  • ๐Ÿ Python 3.8+ installed
  • ๐Ÿ“ฆ pip package manager
  • ๐Ÿ”ง Virtual environment (recommended)

โš™๏ธ Installation Steps

  1. ๐Ÿ“‚ Clone the Repository

    git clone https://github.com/yourusername/greensteps.git
    cd greensteps
  2. ๐Ÿ”ง 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
  3. ๐Ÿ“ฆ Install Dependencies

    pip install django
    pip install pillow  # For image handling
  4. ๐Ÿ“ 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
  5. ๐Ÿ—„๏ธ Database Setup

    # Create and apply migrations
    python manage.py makemigrations tracker
    python manage.py migrate
    
    # Create superuser account
    python manage.py createsuperuser
  6. ๐ŸŒฑ 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
  7. ๐Ÿš€ Launch Application

    python manage.py runserver

    ๐ŸŽ‰ Visit: http://127.0.0.1:8000


๐Ÿ“ฑ Usage Guide

๐Ÿ  Getting Started

  1. Register your account with personalized daily COโ‚‚ goals
  2. Log activities - transportation, meals, energy usage, digital activities
  3. View dashboard - track trends and progress with interactive charts
  4. Get insights - receive personalized sustainability recommendations
  5. Take action - implement tips and monitor your improvement

๐Ÿ“Š Dashboard Features

  • 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

๐Ÿ’ก Smart Recommendations

  • 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

๐ŸŒŸ Key Highlights

๐Ÿ“ˆ Comprehensive Tracking

  • 60+ Emission Factors covering daily activities
  • Real-time Calculations with instant feedback
  • Category Organization for better insights
  • Historical Analysis with trend visualization

๐ŸŽฏ User Experience

  • Intuitive Interface with modern design principles
  • Smooth Animations and micro-interactions
  • Mobile Responsive design for all devices
  • Accessibility Features for inclusive usage

๐Ÿ”ฌ Data-Driven Insights

  • Scientific Accuracy with researched emission factors
  • Personalized Recommendations based on usage patterns
  • Progress Visualization with interactive charts
  • Goal Setting and achievement tracking

๐Ÿ›ก๏ธ Security & Performance

  • โœ… 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

๐Ÿ”ง Customization

๐ŸŽจ Theme Customization

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 */
}

๐Ÿ“Š Adding Emission Factors

  1. Via Admin Panel: /admin/ โ†’ Emission Factors
  2. Via Management Command: Edit populate_emission_factors.py
  3. Programmatically: Use Django ORM in shell

๐Ÿ†• Adding Categories

  1. Update CATEGORY_CHOICES in models.py
  2. Add corresponding icons in templates
  3. Run migrations: python manage.py makemigrations && python manage.py migrate

๐Ÿ“ธ Screenshots

๐Ÿ  Landing Page

Beautiful hero section with feature showcase and call-to-action

๐Ÿ“Š Dashboard

Dashboard

๐Ÿ“ Activity Tracking

Real-time COโ‚‚ estimation with quick-add functionality

๐Ÿ’ก Sustainability Tips

Personalized recommendations with progress tracking


๐Ÿš€ Deployment

๐ŸŒ Production Setup

  1. Environment Variables: Create .env file with production settings
  2. Database: Consider PostgreSQL for production
  3. Static Files: Configure for production serving
  4. Security: Update ALLOWED_HOSTS and security settings

โ˜๏ธ Hosting Options

  • Heroku: Easy deployment with PostgreSQL add-on
  • DigitalOcean: App Platform or Droplets
  • AWS: Elastic Beanstalk or EC2
  • PythonAnywhere: Simple Django hosting

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create a feature branch (git checkout -b feature/amazing-feature)
  3. ๐Ÿ’พ Commit your changes (git commit -m 'Add amazing feature')
  4. ๐Ÿ“ค Push to the branch (git push origin feature/amazing-feature)
  5. ๐Ÿ”„ Open a Pull Request

๐Ÿ“‹ Contribution Guidelines

  • Follow Django best practices
  • Write tests for new features
  • Update documentation
  • Follow the existing code style
  • Add meaningful commit messages

๐Ÿ“Š Project Statistics

  • 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

๐ŸŽ“ Learning Outcomes

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

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ”— 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

๐Ÿ“ License

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.

๐Ÿ“ž Contact & Support

๐Ÿ‘จโ€๐Ÿ’ป Developer

Ammar Elbedweihy

๐Ÿ“ฌ Get In Touch

  • ๐Ÿ› Bug Reports: Open an issue on GitHub
  • ๐Ÿ’ก Feature Requests: Discussion tab in repository
  • โ“ Questions: Email or LinkedIn message
  • ๐Ÿค Collaboration: Always open to interesting projects!

๐Ÿ™ Acknowledgments

  • ๐ŸŒ 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

๐Ÿ“ˆ Analytics & Impact

๐ŸŒฑ Environmental Impact

  • 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

๐Ÿ“Š Technical Metrics

  • 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

๐ŸŒŸ Star this repository if you found it helpful!

Made with ๐Ÿ’š for a sustainable future

GitHub stars GitHub forks

๐ŸŒฑ Every small action counts towards a greener future! ๐ŸŒโœจ


GreenSteps - Track your carbon footprint, make a difference, one step at a time. ๐Ÿš€

About

๐ŸŒฑ Modern Django web app for tracking daily carbon footprint with beautiful UI, real-time analytics, and personalized sustainability tips

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published