dangeredwolf / ModernDeck

A beautiful, powerful Twitter client for desktop.

Home Page:https://moderndeck.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Meta-Issue] Modernizing ModernDeck's codebase and documentation

dangeredwolf opened this issue · comments

ModernDeck is an open-source project that has been around since 2014. It's something I've quite literally evolved my programming and design style with over the years. And my current development style has been fine when ModernDeck only had a few thousand users. I've wanted to improve its code base for a while now, but have overall focused on new features and bugfixes. Given an influx of new users particularly on the Linux side I think it's overdue to improve things in a few high level areas and make it easier to contribute to ModernDeck.

ModernDeck needs better documentation. While high level concepts and APIs like the core script files and storage / preferences API are pretty well documented, I need more work to make sure people understand how other aspect of ModernDeck works better. Some code sections could benefit from more comments, too.

I want to explore moving parts of ModernDeck to TypeScript. While not a final decision it's something I'd like to try to move some parts of the codebase to TypeScript.

ModernDeck's code should be more modular. I envision an internal plugin model to implement a lot of functionality that is otherwise just called by the main script.

I am in college, I do ModernDeck for free in my spare time. I don't have as much time as I used to when I originally started ModernDeck. Its codebase has its quirks, as it was originally designed to be in a single script before being broken apart into many as the combined script became too big. However, there are still ways I can improve it. And I'll have more time in the summer.

I'll probably update this issue as new stuff comes to mind.