The Eco Evolve Disposal Application revolutionizes waste management using modern technologies like mobile computing, machine learning, and computer vision using Google ML Kit. Available for iOS and Android via Flutter, the user-friendly app employs image recognition to help users sort waste correctly, promoting environmental stewardship. Features include real-time data and analytics via Firebase. The app educates users on recycling, enhancing waste management efficiency and supporting Sustainable Development Goals. Ultimately, Eco Evolve aims for zero landfill waste through innovative and sustainable practices.
-
Getting Started Screen :
- Primary interface developed using Flutter.
- Features animations and interactive functions.
- Includes brand-specific detailing like gradients, shadows, and custom fonts.
- Smooth integration with app navigation.
- Encourages user engagement towards environmental sustainability.
-
Login Screen :
- Supports email/password and Google sign-in.
- Adaptive interface for various devices.
- Features password reset, sign-up, and error handling.
- Custom styling elements consistent with brand guidelines.
-
Sign Up Screen :
- Simplifies registration process with text inputs for user details.
- Option to upload or take a profile picture.
- Password validation and secure data storage in Firestore.
- Distinguishes registration flow for government and regular users.
-
Forget Password Screen :
- Allows users to reset their passwords via email.
- Simple interface with text input and reset button.
- Consistent design with the app's visual identity.
- Handles internal errors and ensures quick password recovery.
-
Home Screen :
- Enables submission of environmental complaints.
- Uses Firebase, Google ML Kit, and geocoding for image processing and location-based complaints.
- Stores complaint data securely in Firestore.
- Personalized greeting and status feedback for users.
-
Learn Screen :
- Repository of learning resources on environmental issues.
- Fetches content dynamically from Cloud Firestore.
- Organized navigation with "card" format display.
- Interactive tool for sustainability education.
-
Status Screen :
- Displays information about user-reported complaints.
- Dynamic interface showing complaint details like type, description, date, location, and status.
- Interactive elements for additional details and follow-up timelines.
-
Complaint Details Screen :
- Provides detailed view of specific complaints.
- Displays comprehensive complaint information from Firestore.
- Interactive elements for better visualization and understanding of complaints.
- Shows resolution timelines and allows feedback loops with authorities.
-
User Profile Screen :
- Displays user profile data collected from Firestore.
- Clean and customizable interface.
- Users can view and update profile information.
- Features stylish icons and secure logout option.
-
Edit Profile Screen :
- Enables users to edit their profile data.
- Pulls current user data from Firestore into form fields.
- Allows profile picture upload and data updates with validation.
- Account verification for email changes and progress feedback via Snackbars.
How to Use Step 1:
Download or clone this repo by using the link below:
https://github.com/Achyut-dot/EcoEvolve.git
Step 2: Go to project root and execute the following command in console to get the required dependencies:
flutter pub get
The pubspec.yaml
file for the Eco Evolve Disposal Application lists several dependencies necessary for the project. Here are the main dependencies and their purposes:
- firebase_core: Core Firebase SDK for initializing Firebase in the app.
- cloud_firestore: Access to Cloud Firestore for storing and retrieving data.
- firebase_auth: Firebase authentication for user authentication.
- firebase_storage: Firebase storage for storing files.
- image_picker: Picking images from the gallery or camera.
- google_sign_in: Google sign-in integration.
- google_ml_kit: Machine learning features from Google.
- url_launcher: Launching URLs in the app.
- location: Access to the device's location.
- geocoding: Converting addresses to coordinates and vice versa.
- intl: Internationalization and localization support.
- photo_view: Zoomable image widget.
- font_awesome_flutter: Icons from Font Awesome.
- http: Making HTTP requests.
- path_provider: Accessing commonly used locations on the device’s file system.
- excel: Reading and writing Excel files.
These dependencies enable the app to incorporate various functionalities like Firebase integration, image processing, location services, machine learning, and more, making it a robust and feature-rich platform for waste management.
Here is the core folder structure which flutter provides.