A Flutter app to track, visualize, and compete on personal carbon footprints.
Carbon Foot Printer is a mobile app designed to help users monitor and reduce their carbon emissions. Users can log in, record their transport habits, view weekly emissions, and compare their carbon footprint on a leaderboard. The app combines social features, gamification, and eco-awareness in one platform.
- Sign up / Login with email and password using Firebase Authentication.
- Persistent login using Firebase streams (authStateChanges()).
- Password show/hide functionality.
- Forgot password (placeholder implemented).
- View and edit profile:
- Username
- Profile picture selection
- Dark mode toggle (UI feature)
- Notifications toggle (UI placeholder)
- Logout functionality
- Compare carbon emissions with other users.
- Top 10 users displayed.
- Shows:
- Username & avatar
- Country & transportation
- Carbon emissions (kg CO₂)
- HomeScreen: Displays personal carbon stats (planned graph visualizations).
- NewsScreen: Eco-related news updates (placeholder).
- View other users’ profiles.
- Displays weekly carbon emissions.
- Flutter – Frontend UI
- Firebase Auth – Authentication
- Cloud Firestore – Database for user profiles & emissions
- Firebase Core – Backend integration
- Dart – Programming language
lib/ │ ├── main.dart # App entry, bottom navigation & Firebase initialization ├── login.dart # Login screen & persistent login ├── signup.dart # Sign up screen ├── profile_screen.dart # Edit user profile ├── publicprofile_screen.dart # Public profile view ├── settings_screen.dart # App settings & logout ├── leader_screen.dart # Leaderboard with top users ├── home_screen.dart # Main user dashboard ├── news_screen.dart # Eco-news feed └── firebase_service.dart # Firebase Auth & Firestore integration
- Authentication – Email/password login.
- Firestore Structure: users (collection) │ └── {uid} (document) ├── displayName: string ├── email: string ├── pfp: int ├── carbonEmission: double ├── createdAt: timestamp
- Clone the repository: git clone https://github.com/your-repo/carbon-foot-printer.git
- Install dependencies: flutter pub get
- Set up Firebase:
- Create a Firebase project.
- Enable Authentication and Firestore.
- Download google-services.json or GoogleService-Info.plist.
- Update firebase_options.dart.
- Run the app: flutter run
- Weekly carbon emission charts & analytics.
- Transport activity logging.
- Push notifications for eco-tips.
- Social sharing and friends leaderboard.
- JadeFootprint
- Amar Razzaq – Lead developer, Firebase integration, UI/UX, Graphic Design
- Cristian Padleski - Lead developer, Firebase integration, Auth Dev, CRUD API, Backend Dev, ADK
- David Gomez - Lead developer, UI/UX, Graphic Design, Figma
- Iadd Chehaeb - ADK Agent Engineer
MIT License