TrashMob
A website dedicated to organizing groups of people to clean up the world we live in. Users create cleanup events, publicize them, and recruit people to join up, as well as ask for assistance from communities and partners.
https://github.com/TrashMob-eco/TrashMob
Category: Industrial Ecology
Sub Category: Circular Economy and Waste
Keywords
environment litter pollution sustainability trash
Keywords from Contributors
profile energy-system index power feature-toggle contributing domain-modeling geocoder atoms stress-test
Last synced: about 15 hours ago
JSON representation
Repository metadata
Source Code for TrashMob.eco
- Host: GitHub
- URL: https://github.com/TrashMob-eco/TrashMob
- Owner: TrashMob-eco
- License: apache-2.0
- Created: 2021-03-13T00:27:38.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-03-01T06:12:07.000Z (16 days ago)
- Last Synced: 2026-03-01T06:34:21.133Z (16 days ago)
- Topics: environment, litter, pollution, sustainability, trash
- Language: C#
- Homepage:
- Size: 161 MB
- Stars: 18
- Watchers: 6
- Forks: 0
- Open Issues: 43
- Releases: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
README.md
TrashMob.eco
Meet up. Clean up. Feel good.
What is TrashMob?
TrashMob.eco is a platform dedicated to organizing groups of people to clean up the world we live in. Users create cleanup events, publicize them, and recruit people to join up, as well as ask for assistance from communities and partners to help haul away the garbage once it is gathered.
The idea is to turn what can be an intimidating process for event organizers into a few clicks and simple forms. And once the process is simple, events will spring up all over the world, and the cleanup of the world can begin.
Live Sites
| Environment | URL |
|---|---|
| Production | www.trashmob.eco |
| Development | dev.trashmob.eco |
| Dev Swagger | dev.trashmob.eco/swagger |
Mobile Apps
| Platform | Link |
|---|---|
| Android | Google Play Store |
| iOS | Apple App Store |
Quick Start
For detailed development setup instructions, see CLAUDE.md.
Prerequisites
- .NET 10 SDK
- Node.js 20+ (for frontend development)
- Azure CLI
- Visual Studio Code or Visual Studio 2022+
Build & Run
See CLAUDE.md for full build commands, local URLs, and development setup.
Documentation
For Developers
| Document | Description |
|---|---|
| CLAUDE.md | Development guide, architecture, coding standards |
| CONTRIBUTING.md | How to contribute |
| CODE_OF_CONDUCT.md | Community guidelines |
Product & Planning
| Document | Description |
|---|---|
| 2026 Planning Hub | Roadmap, projects, and milestones |
| TrashMob.prd | Web API product requirements |
| TrashMobMobile.prd | Mobile app product requirements |
Technical Reference
| Document | Description |
|---|---|
| Domain Model | Core data concepts, business rules, entity relationships |
| Test Scenarios | Manual testing checklist |
| Deploy Guide | Infrastructure deployment |
| Container Deployment | Docker/ACA deployment |
Project-Specific
| Project | README |
|---|---|
| TrashMob (Web API) | TrashMob/README.md |
| TrashMob.Shared | TrashMob.Shared/README.md |
| TrashMob.Models | TrashMob.Models/README.md |
| TrashMobMobile | TrashMobMobile/readme.md |
| Mobile Analysis | TrashMobMobile/docs/PROJECT_ANALYSIS.md |
Project Structure
TrashMob/
├── TrashMob/ # ASP.NET Core Web API + React SPA
│ └── client-app/ # React frontend (Vite + TypeScript)
├── TrashMob.Shared/ # Business logic, managers, EF Core
├── TrashMob.Models/ # Domain entities
├── TrashMob.Shared.Tests/ # Unit tests
├── TrashMobMobile/ # .NET MAUI mobile app
├── TrashMobDailyJobs/ # Background jobs (daily)
├── TrashMobHourlyJobs/ # Background jobs (hourly)
└── Deploy/ # Bicep templates, deployment scripts
Contributing
We're actively looking for contributors! All skill levels welcome:
- Frontend: React, TypeScript, Tailwind CSS
- Backend: ASP.NET Core, Entity Framework Core
- Mobile: .NET MAUI
- DevOps: GitHub Actions, Azure, Bicep
Getting Started
- Check Good First Issues
- Read CONTRIBUTING.md
- Set up your dev environment using CLAUDE.md
- Contact info@trashmob.eco to be added as a contributor
Feature Ideas
Before starting work on a new feature, please check:
Development Environment Setup
See CLAUDE.md for full development setup, troubleshooting, and local URLs.
Quick start: Email info@trashmob.eco to request contributor access, then:
az login
.\setupdev.ps1 -environment dev -region westus2 -subscription <guid>
Mobile App Development
See TrashMobMobile/readme.md for mobile setup, test builds, and store links.
Deployment
Automatic Deployments
| Branch | Environment | Trigger |
|---|---|---|
main |
Development | Push |
release |
Production | Manual workflow |
Manual Deployment
See Deploy/CONTAINER_DEPLOYMENT_GUIDE.md for container deployment instructions.
Background & History
Years ago, Scott Hanselman (and others at Microsoft) built NerdDinner.com as a demo of ASP.NET MVC. Those nerd dinners were fantastic and had a huge role in many careers, including leading the founder to join Microsoft.
This site is based on both that code and the idea that getting people together to do small good things results in larger good things in the long term.
The inspiration came from Edgar McGregor, who spent over 1100 days cleaning up a park in his community, two pails of litter at a time. His actions inspired others to do the same, and TrashMob.eco was born—a platform to help people organize "mobs" to tackle cleanup together.
Status
TrashMob.eco is a 501(c)(3) non-profit in the United States, launched in production on May 15, 2022. We're actively developing new features to help communities clean up the world!
Contact
- Email: info@trashmob.eco
- Website: trashmob.eco
- GitHub Issues: Report a bug or request a feature
Owner metadata
- Name: TrashMob.eco
- Login: TrashMob-eco
- Email: info@trashmob.eco
- Kind: organization
- Description: TrashMob.eco's mission: To promote community litter cleanup and engagement through a streamlined tech-based platform.
- Website: www.trashmob.eco
- Location: United States of America
- Twitter: trashmobeco
- Company:
- Icon url: https://avatars.githubusercontent.com/u/98231723?v=4
- Repositories: 1
- Last ynced at: 2026-03-02T21:17:01.831Z
- Profile URL: https://github.com/TrashMob-eco
GitHub Events
Total
- Create event: 405
- Issues event: 139
- Watch event: 5
- Delete event: 399
- Member event: 3
- Issue comment event: 12
- Push event: 925
- Pull request review event: 118
- Pull request review comment event: 10
- Pull request event: 843
Last Year
- Create event: 270
- Issues event: 110
- Watch event: 3
- Delete event: 273
- Member event: 3
- Issue comment event: 7
- Push event: 563
- Pull request review comment event: 2
- Pull request event: 565
- Pull request review event: 70
Committers metadata
Last synced: 14 days ago
Total Commits: 3,414
Total Committers: 36
Avg Commits per committer: 94.833
Development Distribution Score (DDS): 0.634
Commits in past year: 989
Committers in past year: 10
Avg Commits per committer in past year: 98.9
Development Distribution Score (DDS) in past year: 0.604
| Name | Commits | |
|---|---|---|
| Joe Beernink | j****e@m****m | 1250 |
| Joe Beernink | 3****k | 1237 |
| renovate[bot] | 2****] | 232 |
| Dopp | d****p@d****m | 110 |
| Ming Ho | 2****g | 77 |
| Matt Goldman | m****n@o****m | 76 |
| Pitipat Srichairat | p****p@g****m | 74 |
| Liana Marulanda | l****a@m****m | 60 |
| Sandra Mau | s****u@t****o | 60 |
| vtserej | v****j@g****m | 36 |
| kiran | k****7@g****m | 30 |
| MariusR | m****n@m****m | 24 |
| chunlishao | c****5@g****m | 23 |
| Phil Cherner | p****e@m****m | 18 |
| Dhwanil Chokshi | d****i@m****m | 15 |
| Hsing Tang | h****g@m****m | 10 |
| Dany Pellerin | p****y@g****m | 10 |
| Ben Buttigieg | b****g@g****m | 9 |
| William Voss | w****s@h****m | 9 |
| Markus Luszczymak | m****n@l****e | 8 |
| DESKTOP-6M2DRN8\dhwan | d****9@g****m | 7 |
| omahs | 7****s | 6 |
| codeHysteria28 | g****7@g****m | 5 |
| arijit | a****l@l****m | 4 |
| ssagheer538 | a****4@g****m | 4 |
| Dishan Fernando | d****1@g****m | 4 |
| Hugo Palomares | h****s@h****n | 4 |
| Joe Beernink | j****k@W****l | 2 |
| franciscomoloureiro | f****o@g****m | 2 |
| Copilot | 1****t | 2 |
| and 6 more... | ||
Committer domains:
- microsoft.com: 8
- hugos-mbp-2.lan: 1
- live.de: 1
- trashmob.eco: 1
- ddxasia.com: 1
Issue and Pull Request metadata
Last synced: 16 days ago
Total issues: 205
Total pull requests: 1,552
Average time to close issues: 7 months
Average time to close pull requests: 4 days
Total issue authors: 11
Total pull request authors: 15
Average comments per issue: 0.22
Average comments per pull request: 0.03
Merged pull request: 1,317
Bot issues: 2
Bot pull requests: 394
Past year issues: 32
Past year pull requests: 430
Past year average time to close issues: 21 days
Past year average time to close pull requests: 1 day
Past year issue authors: 1
Past year pull request authors: 4
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.02
Past year merged pull request: 342
Past year bot issues: 0
Past year bot pull requests: 170
Top Issue Authors
- joebeernink (145)
- pitipatdop (35)
- chunlishao (6)
- xthepoet (4)
- Limarulanda (4)
- XiaoStevens (3)
- danypellerin (2)
- vtserej (2)
- renovate[bot] (2)
- goodgeyes (1)
- matt-goldman (1)
Top Pull Request Authors
- joebeernink (737)
- renovate[bot] (394)
- pitipatdop (290)
- vtserej (47)
- chunlishao (22)
- matt-goldman (20)
- danypellerin (17)
- luszczymak-markus (10)
- Cililocwee (4)
- super-ming (3)
- dishanfernando91 (3)
- Limarulanda (2)
- xthepoet (1)
- omahs (1)
- papicella (1)
Top Issue Labels
- Website (68)
- Mobile App (66)
- Feature (18)
- Design (18)
- bug (14)
- Infrastructure (12)
- good first issue (3)
- blocked (1)
- enhancement (1)
- tech debt (1)
- dependencies (1)
Top Pull Request Labels
- dependencies (392)
Dependencies
- 1716 dependencies
- @azure/msal-browser ^2.23.0
- @azure/msal-react ^1.3.2
- @culturehq/add-to-calendar ^1.1.2
- @fluentui/react ^8.14.13
- @material-ui/core ^4.11.4
- @testing-library/jest-dom ^5.12.0
- @testing-library/react ^11.2.7
- @testing-library/user-event ^12.8.3
- @types/jest ^26.0.23
- @types/node ^12.20.13
- @types/react ^17.0.6
- @types/react-dom ^17.0.5
- @types/react-router-dom ^5.1.7
- @uifabric/icons ^7.5.23
- azure-maps-control ^2.0.32
- bootstrap ^4.6.0
- classnames ^2.3.1
- create-react-class ^15.7.0
- guid-typescript ^1.0.9
- jquery ^3.6.0
- json.date-extensions ^1.2.2
- merge ^2.1.1
- moment ^2.29.1
- node-sass ^6.0.0
- oidc-client ^1.11.5
- react ^17.0.2
- react-azure-maps ^0.4.2
- react-bootstrap ^1.6.0
- react-bootstrap-icons ^1.7.2
- react-bootstrap-typeahead ^6.0.0-alpha.9
- react-country-region-selector ^3.1.0
- react-datepicker ^3.8.0
- react-datetime-picker ^3.2.1
- react-dom ^17.0.2
- react-moment ^1.1.1
- react-responsive-carousel ^3.2.18
- react-router-bootstrap ^0.25.0
- react-router-dom ^5.2.0
- react-scripts ^4.0.3
- react-simple-captcha ^6.1.6
- reactstrap ^8.9.0
- rimraf ^3.0.2
- typescript ^4.2.4
- web-vitals ^1.1.2
- Azure.Extensions.AspNetCore.Configuration.Secrets 1.2.2
- Azure.Identity 1.6.0
- Azure.Security.KeyVault.Secrets 4.3.0
- DocuSign.eSign.dll 5.11.0
- EntityFramework 6.4.4
- Microsoft.ApplicationInsights.AspNetCore 2.20.0
- Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 6.0.4
- Microsoft.AspNetCore.Http.Abstractions 2.2.0
- Microsoft.AspNetCore.Identity.EntityFrameworkCore 6.0.4
- Microsoft.AspNetCore.SpaServices.Extensions 6.0.4
- Microsoft.EntityFrameworkCore.Design 6.0.4
- Microsoft.EntityFrameworkCore.SqlServer 6.0.4
- Microsoft.EntityFrameworkCore.Sqlite 6.0.4
- Microsoft.EntityFrameworkCore.Tools 6.0.4
- Microsoft.Extensions.Azure 1.2.0
- Microsoft.Identity.Web 1.24.1
- Microsoft.VisualStudio.Web.CodeGeneration.Design 6.0.3
- Newtonsoft.Json 13.0.1
- SendGrid 9.27.0
- Swashbuckle.AspNetCore 6.3.1
- Azure.Security.KeyVault.Secrets 4.3.0
- AzureMapsRestToolkit 7.1.0
- DocuSign.eSign.dll 5.11.0
- EntityFramework 6.4.4
- Microsoft.Azure.KeyVault 3.0.5
- Microsoft.EntityFrameworkCore 6.0.4
- Microsoft.EntityFrameworkCore.Design 6.0.4
- Microsoft.EntityFrameworkCore.SqlServer 6.0.4
- Microsoft.EntityFrameworkCore.Sqlite 6.0.4
- Microsoft.EntityFrameworkCore.Tools 6.0.4
- Microsoft.Extensions.Configuration.Abstractions 6.0.0
- SendGrid 9.27.0
- Microsoft.NET.Test.Sdk 17.1.0
- Moq 4.17.2
- coverlet.collector 3.1.2
- xunit 2.4.1
- xunit.runner.visualstudio 2.4.3
- actions/checkout v3 composite
- Apple-Actions/download-provisioning-profiles v1 composite
- Apple-Actions/import-codesign-certs v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- azure/webapps-deploy v2 composite
- Azure/functions-action v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- Apple-Actions/download-provisioning-profiles v1 composite
- Apple-Actions/import-codesign-certs v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- azure/webapps-deploy v2 composite
- Azure/functions-action v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- Apple-Actions/download-provisioning-profiles v1 composite
- Apple-Actions/import-codesign-certs v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- managedcode/MAUIAppVersion v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- Apple-Actions/download-provisioning-profiles v1 composite
- Apple-Actions/import-codesign-certs v1 composite
- actions/checkout v3 composite
- actions/setup-dotnet v3 composite
- actions/upload-artifact v3.1.2 composite
- actions/download-artifact v2 composite
- r0adkll/upload-google-play v1 composite
- actions/download-artifact v2 composite
- apple-actions/upload-testflight-build v1 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- Microsoft.ApplicationInsights.WorkerService 2.22.0
- Microsoft.Azure.Functions.Worker 1.23.0
- Microsoft.Azure.Functions.Worker.Extensions.Http 3.2.0
- Microsoft.Azure.Functions.Worker.Extensions.Timer 4.3.1
- Microsoft.Azure.Functions.Worker.Sdk 1.18.1
- Microsoft.Extensions.DependencyInjection 8.0.1
- System.Data.SqlClient 4.8.6
- CommunityToolkit.Maui 9.0.2
- CommunityToolkit.Mvvm 8.2.2
- M.BindableProperty.Generator 0.11.1
- Microsoft.Extensions.Configuration 8.0.0
- Microsoft.Extensions.Configuration.Binder 8.0.2
- Microsoft.Extensions.Configuration.Json 8.0.1
- Microsoft.Extensions.Hosting 8.0.1
- Microsoft.Extensions.Http.Polly 8.0.10
- Microsoft.Extensions.Logging.Debug 8.0.1
- Microsoft.Identity.Client 4.66.1
- Microsoft.Maui.Controls 8.0.92
- Microsoft.Maui.Controls.Compatibility 8.0.92
- Microsoft.Maui.Controls.Maps 8.0.92
- Newtonsoft.Json 13.0.3
- Polly 8.4.2
- Sentry.Maui 4.12.2
Score: 7.694392802629421