Nihilate / Roboragi

Roboragi is a Reddit bot which helps link anime, manga, and other Japanese media.
GNU Affero General Public License v3.0
164 stars 30 forks source link

Code Improvement Discussion #14

Open dashwav opened 6 years ago

dashwav commented 6 years ago

Hello I was just following some of the conversations that you, @Nihilate and @reillysiemens were having about code improvements and just wanted to pop over real quick and say that if you need any ideas of how to do some code cleanup. I actually went and created a functionally-similar library for the discord implementation of roboragi. Which while I don't think it fits the use case perfectly, it is definitely somewhere you could probably use as inspiration if needed.

Some code highlights from what you have said looking in the wiki: Updated Web API's.

SQLite controller (cacheing/stats).

Logging.

Also if you are interested in a website for this, I would be very interested in helping out with that - let me know what kind of features you are looking for and I can do a quick prototype for you if you want.

reillysiemens commented 6 years ago

I can't speak for @Nihilate, but this looks like fantastic work to me! Minoshiro has aspects that are really closely aligned with the ideas I had for improvements. If I get around to making said improvements I will definitely look at either including Minoshiro directly or drawing significant inspiration from it.

I'll let @Nihilate talk about their interest in a website and what they'd like to have done there as I don't have a horse in that race. My goal is, first and foremost, to work with @Nihilate to fix up some of the issues that are barriers to completing the rest of the work on the wiki.

While this issue is open I think it would be a good idea to use it to lay out a roadmap and some corresponding issues/milestones (or maybe even a project) that will make it easier for contributors to check boxes off the improvements list and see what's actively being worked on.

Nihilate commented 6 years ago

Hey @dashwav! Discordoragi and Minoshiro are looking super clean, I'd definitely be keen for Roboragi to move in that direction haha.

@reillysiemens, I'm happy to set up a project sometime this weekend to make it easier for people to contribute if/when they want to. I'll likely enable code reviews as well unless there are any major objections (both because I like reading code and if I'm going to start writing Python again then any suggestions will be welcome). In the short term, I need to get through my backlog of issues and requests on both the subreddit and PMs (I've been away from Reddit for about a month and a half and they've stacked up). After that I'll probably focus on getting some kind of continuous deployment up and running (both to get me out of the habit of manually deploying like a pleb and to get these snazzy new tests into a pipeline).

Regarding a website, the ultimate goal would involve some nice visualisation (live requests over time, trending shows) and some tools to make management easier (e.g. requesting comment reprocessing, requesting the deletion of orphaned comments and requesting manual redirections/synonyms). There are obviously more important things to fix first (and I wouldn't impose anything on you regarding a prototype at this stage), but it would be a nice end-goal.

Nihilate commented 6 years ago

Hey all. I've gone and started a refactor project over here, which I'll continue to fill out over the next few days when I get the chance (I'll keep this issue open until it's done). I'll likely add one for CI/CD and one for new functionality as well.

I'll hold off on prioritisation until it's all in, but the order (if one exists) should be reasonably obvious. On a similar note I wish I had better control over issue dependencies like with Jira.