TattleTell is a mobile application designed to simplify the process of reporting and tracking public maintenance issues such as potholes, broken streetlights, litter, and overflowing trash cans.
- Location-Based Logging: Uses GPS to automatically log maintenance issues based on the user's location.
- User-Friendly Interface: Streamlined experience—users only need to take a picture.
- Automated Trash Can Detection:
- Uses the FullnessModel AI model to determine if a trash can is full.
- Uses CompareImagesModel AI model, in tandem with geolocation data, identifies which trash can is being photographed.
- Litter Detection: AI model to recognize and categorize litter in images.
- Road and Pothole Detection: AI-based identification of road damage.
- Streetlight Status Detection: Image analysis to determine if a streetlight is malfunctioning.
- Contains the Flask-based API responsible for:
- Loading and running two machine learning models.
- Receiving images, latitude, and longitude data from the mobile app.
- Updating the database with new reports.
- Stores images of trash cans in the database for identifying with trashcan was photographed.
- Backend:
- Manages communication between the mobile app and TrashCanAPI.
- Handles data processing and retrieval.
- Frontend:
- Mobile application interface.
- Captures images and location data, then sends them to TrashCanAPI for processing and database updates.
- Python 3.x
- Flask
- Machine Learning Model Dependencies (e.g., TensorFlow/PyTorch, OpenCV)
- Database (SQLite, PostgreSQL, or other as required)
- Clone the repository:
git clone https://github.com/your-repo/tattletell.git cd tattletell - Install dependencies:
pip install -r requirements.txt
- Start the API server:
python trashcan_api.py
- Run the mobile app (setup instructions vary by platform).
- Open the TattleTell app.
- Take a picture of the maintenance issue.
- The app automatically logs the location and identifies the object.
- The report is sent to the database for further action.
Pull requests are welcome. For major changes, please open an issue first to discuss proposed modifications.
This project is licensed under the MIT License.
For any questions or support, please contact kent.romero78@gmail.com.