So I've been diving slowly and carefully into the hell that is testing and writing tests, and so far, what I've actually had the most problems with isn't trying to figure out how to do things I want to do that the various tutorials I'm cribbing from doesn't actually list examples of. I've had a couple thorny-feeling cases that sorted themselves right out after I did a bunch of frantic reading of the Django docs and some helpful StackOverflow questions.
What I've really had trouble with? Is figuring out what work I should be doing, what tests I should be writing, as opposed to the ones the tutorials try to handhold you through. It's made for a really quite fragmented commit process, wherein I figure out something, hack together a solution, and then frantically try to strip it of dumb bugs in future commits. Slowly, I'm getting better at it pretty fucking slowly, but progress is progress, so I've not lost heart.
I've been turning over the static fic archive idea in my mind, and have now resumed my more practical assessment of it, i.e. that
- it's dumb and bad (my partner's default stance vs static sites, lol), and...
- I should just use a gd database, because search + tags is core, core, I say, to the modern fic archive experience, and I refuse to corner case my way towards that.
Whereas, if I stick with this Django thing, I can stick in full-text search with Postgres or MySQL for free, and have a tagging architecture that actually makes sense, and is editable, and integrated with the search bit.
Not taking bets on whether I'm going to find that I have to write a tagging library myself. I'm still trying to hope that the big third-party ones available will somehow suit; if they don't, though, I'm prepared to download them, rifle through their code and steal whatever looks good while implementing my own as part of fanarchive.
Well. Back to tests~
P.S. for new git gits: Do not, under any circumstances, authenticate with git's https credentials bs if you're juuuust getting started with it. The SSL keygen instructions are scary I know, but, istg, it will save you SO MUCH PAIN AND FRUSTRATION later on if you use them, when you decide to switch IDEs or GUI git clients, or switch to a new github account and find that your old credentials Will Not Go Away.
The wrong SSL key can easily be deleted or moved or pointed away from; https credentials burrow their way into your OS'es guts, and linger on in weird fucking places, e.g. OSX's keychain, Visual Studio Code's credential handler, etc etc etc. To the point that reinstalling git is actually recommended as a solution.