There are two main forks for this idea:
- Just changing what’s displayed on a map, no changes to progress/completion
- Adding timeframes to progress/completion e.g. just this year, just this month, between two dates, etc
The first one is “easy” in that the UI could be either two fields or two sliders, where you’re selecting a start/end date pair & it determines what is displayed on the map based on that. I should really get around to adding this!
The second one is more nuanced, and people will have different preferences. After thinking about it a bit, I think I see two main architectures…
User-driven:
- select start & end dates (so this can be a month or year or whatever, no limits)
- select whether other people can join in on the project (I don’t even have an idea of what this would look like code-wise)
- any activities that already exist in this timeframe are automatically added to the project (this is to allow retroactive projects e.g. for comparison, as well as to allow people to join in mid-project)
Site-wide (very similar to user-driven, but more community-based vs personal goal):
- some regularly repeating set amount of time e.g. every month or every three months
- either everyone is automatically entered, or it’s some kind of opt-in (I’m gonna be real here, I can’t keep barely breaking even or tossing some more on the credit card every month, this is probably gonna be a paid thing.)
Goals (each project doesn’t have to be only the number of streets we complete):
- complete as many streets as you can
- complete X number of streets
- run in as many different cities as you can