CodingTrain / thecodingtrain.com

All aboard the Coding Train! Choo choo! 🚂🌈❤️
https://thecodingtrain.com
MIT License
207 stars 110 forks source link

showcase filenames #404

Closed shiffman closed 1 year ago

shiffman commented 2 years ago

Right now the filenames for the showcase projects are contribution{$number}.json, I think I would actually prefer it to be showcase${number}.json? This would require:

What does everyone think?

fturmel commented 1 year ago

@shiffman Is this something you still wanted done? LMK

shiffman commented 1 year ago

It's low priority and I worry there will be unintended consequences I'm not thinking of but yes, I think this would be a good update for the site!

fturmel commented 1 year ago

I'm fairly certain this can be easily and safely done, your checklist looks complete to me.

Super nitpicky... the only thing I'm wondering is if the semantics make sense for the code base. A showcase of user contributions/creations works, but a showcase of showcases doesn't sound right to me.

I did see in the website maintenance guide that there are instructions to port older challenges from the https://github.com/skaser85/thecodingtrain_website_data repo. Maybe this should be wrapped up first?

fturmel commented 1 year ago

It's low priority

Feel free to tag me on GitHub or Discord with anything else of higher priority, I'll see if I can help.

shiffman commented 1 year ago

Apologies for the delay, I'm back and working on Coding Train projects for 2023!

Super nitpicky... the only thing I'm wondering is if the semantics make sense for the code base. A showcase of user contributions/creations works, but a showcase of showcases doesn't sound right to me.

I see what you are saying. My thought was that since it's the Passenger Showcase, it's more clear to have the files associated with the showcase called showcase! "contribution" is more of a dry, technical term and isn't clear what it is for.

But maybe I should just let it be?

In any case, the porting of challenges and addition of new content will always be ongoing so I'm happy to for this to be worked on in the shorter term!

I think one challenge with this issue is that it has to be done all at once as to not cause conflicts with new showcase submissions that are coming in. @klinegareth ran into this when working on it in #443.

fturmel commented 1 year ago

I see what you are saying. My thought was that since it's the Passenger Showcase, it's more clear to have the files associated with the showcase called showcase! "contribution" is more of a dry, technical term and isn't clear what it is for.

Yeah, I can see that. These JSON files live in a "showcase" directory, though, so they are not completely lacking context. "Contribution" to me was fine, but it's not the most accurate word for what it is, and it lacks the whimsy of the Coding Train aesthetic.

How would you model the property in the Tracks and Challenges schemas for example? It's currently showcase: [Contribution]. To me, it doesn't make too much sense to pluralize "showcase", and it's way more confusing to make it showcase: [Showcase]. What is this a showcase of?

Would simply adding a "showcase" or "passenger" prefix help?

For fun, I wrote down a few ideas and synonyms that might be helpful and inspire some alternative to "contribution". Feel free to completely dismiss!

I think one challenge with this issue is that it has to be done all at once as to not cause conflicts with new showcase submissions that are coming in. @klinegareth ran into this when working on it in https://github.com/CodingTrain/thecodingtrain.com/pull/443.

Makes sense. There aren't stale contribution PRs at this point (except for #490) which helps. I wrote some code to rename the contribution content files that could be temporarily added in the codebase and re-run until everything is settled. https://gist.github.com/fturmel/5e36c280fa4e67fbb2015498546cdf80

I would suggest that all the code changes be done first in a PR, and that when everything is ready you can be the one that locally runs the script that renames 2500+ content files and contribute that last commit to the PR just before merging. It'll make the PR easier to review, and less likely to have conflicts with the main branch.

It seems like updating the guides (copy + screenshots) would be the most time-consuming part of all this.

shiffman commented 1 year ago

Thanks @fturmel for all of your thoughts on this! I'm feeling more like maybe the name of the files doesn't matter so much and "contribution" describes it well. Perhaps more my issue was with that word appearing on the website itself which feels a bit "cold" and "technical." I made some minor edits just now in #959.

I could imagine changing to "submission" instead of "contribution" or "showcase-submisson" / "passenger-contribution" or something like that as well, but I'm not sure it's worth it. And am happy to just close this issue? What do you think?

fturmel commented 1 year ago

Sure, that makes sense and I agree that we can close the issue if you're happy with the approach.

If you ever change your mind, it's totally doable to refactor the project to use the term "submission" instead. Just keep in mind that it's not just the JSON file names that will need to be updated. Lots of internals (variable names, GraphQL schema and queries), the guides (copy and screenshots), content unit tests, submission lambda function, etc.

shiffman commented 1 year ago

Sure, that makes sense and I agree that we can close the issue if you're happy with the approach.

If you ever change your mind, it's totally doable to refactor the project to use the term "submission" instead. Just keep in mind that it's not just the JSON file names that will need to be updated. Lots of internals (variable names, GraphQL schema and queries), the guides (copy and screenshots), content unit tests, submission lambda function, etc.

Thanks, yes I underestimated the ripple effects of this idea so I think it's best to leave as is! We can always revisit / reopen if need be! Thank you for the helpful advice and for being so thoughtful about it!