Skip to content

Syed-Abdullah123/BINLY-FYP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Binly - Waste Management Digitalization App

Binly is a mobile application designed to digitalize waste management by connecting users and waste collectors (community users). The app allows users to set daily waste management goals, track their progress, and communicate with waste collectors via an in-app chat. Additionally, Binly integrates a machine learning model to classify waste items into six predefined categories, enhancing the efficiency of waste sorting and management.

Built with React Native and powered by Firebase/Firestore for real-time data storage and authentication, Binly leverages the Context API for state management and Flask as a backend to serve the ML model.


Features

  • User Roles:

    • Normal Users: Set daily waste management goals and track progress.
    • Community Users (Waste Collectors): Manage waste collection tasks and interact with normal users.
  • Goal Tracking: Users can set and complete daily waste management goals, which are stored in Firestore.

  • In-App Chat: Real-time messaging between normal users and community users using Firebase/Firestore.

  • Waste Classification: A machine learning model classifies waste items into six categories. The model is integrated into the app using Flask as a backend.

  • Authentication: Secure user authentication using Firebase and managed via the Context API.

  • Responsive Design: Built with React Native for cross-platform compatibility (iOS and Android).


Technologies Used

Frontend

  • React Native: Cross-platform mobile app development.
  • React Navigation: For seamless navigation between screens.
  • Expo: Development platform for React Native apps.
  • Context API: For state management and user authentication.

Backend

  • Firebase/Firestore: Real-time database and authentication.
  • Flask: Backend server to serve the machine learning model.

Machine Learning

  • Custom ML Model: Classifies waste items into six categories.
  • Flask Integration: Connects the ML model to the React Native app.

Screenshots

Below are the screenshots of the app, and how the app looks and feels.

Dependencies

  • @react-native-async-storage/async-storage: Local storage for user data.
  • @react-navigation: Navigation library for React Native.
  • axios: HTTP client for API requests.
  • expo-camera: Camera functionality for capturing images.
  • expo-image-picker: Image selection from the device gallery.
  • expo-location: Location services for geolocation.
  • firebase: Authentication and Firestore integration.
  • lottie-react-native: Animation library for engaging UI.
  • react-native-maps: Map integration for location-based features.
  • react-native-paper: UI component library for a consistent design.

Setup Instructions

Prerequisites

  • Node.js and npm installed.
  • Expo CLI installed globally (npm install -g expo-cli).
  • Firebase project setup with Firestore and Authentication enabled.
  • Flask backend running with the ML model deployed.

Steps to Run the Project

  1. Clone the Repository:
    git clone https://github.com/your-username/binly.git
    cd binly
    
  2. Install Dependencies:
    npm install
  3. Configure Firebase:
  • Add your Firebase configuration in firebaseConfig.js.

  • Ensure Firestore and Authentication are enabled in your Firebase console.

  1. Run the Flask Backend:
  • Navigate to the Flask backend directory and start the server:
    python app.py
    
  1. Start the React Native App:
    expo start
    

Scan the QR code with the Expo Go app on your mobile device or use an emulator.

Contributing

Contributions are welcome! If you’d like to contribute to Binly, please follow these steps:

  1. Fork the repository.

  2. Create a new branch (git checkout -b feature/YourFeatureName).

  3. Commit your changes (git commit -m 'Add some feature').

  4. Push to the branch (git push origin feature/YourFeatureName).

  5. Open a pull request

Acknowledgments

Special thanks to Firebase and Expo for providing robust tools for app development.

Gratitude to the open-source community for libraries and resources that made this project possible.

About

Binly is a waste management app for Normal and Community users. It offers a centralized system with defined goals for both user types, a chat feature for support, and an ML model to classify waste into 6 categories. The backend is powered by Flask, ensuring efficient user interactions.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors