KivyMD icon indicating copy to clipboard operation
KivyMD copied to clipboard

✓ KivyMD. TODO List

Open ArtemSBulgakov opened this issue 4 years ago • 0 comments

TODO List

This is the list that contains all ideas about KivyMD. Please create issues with feature description if you really need it.

KivyMD library - components

kivymd/KivyMD repository

KivyMD library - modules

Automation

  • [x] Auto formatting with Black
    • [x] Checking formatting via GitHub Actions
  • [x] Script for making release
  • [x] Auto deploying to PyPI
  • [ ] Signing packages published to PyPI
  • [ ] Signing demos binaries
  • [ ] Publish demos to Play Store (autopublishing)
  • [ ] Tests for main modules
  • [ ] Tests for demos
  • [ ] Generation videos (gifs) and screenshots for documentation

Demos

  • [x] Make studies as individual demos
  • [ ] Test mode for Kitchen Sink demo (runs all demo widgets)
  • [x] Add Readme for each app

Documentation

  • [x] Make one-style documentation for all modules
  • [x] Generating documentation for GitHub pages
  • [ ] Documentation standards for KivyMD Extensions
  • [ ] Documentation for developers

KivyMD Website

kivymd/website repository

  • [ ] Collect all documentation (KivyMD, KivyMD Extensions) into one website
  • [ ] Buy domain
  • [ ] Publish development documentaion in dev subdomain
  • [ ] Publish public keys in keys subdomain
  • [ ] Make documentation using Material-UI (example)
  • [ ] Connect translation system
  • [ ] Make documentation as pdf
  • [ ] Page with statistics
    • Website pages views
    • KivyMD library installs, downloads, clones
    • Extensions statistics
    • Discord server statistics
    • Other statistics
  • [ ] Badges: kivymd-official, kivymd-internal, kivymd-extensions, kivymd-unofficial
    • Page where listed all projects with these badges
  • [ ] Page with all links related to KivyMD

KivyMD Extensions

kivymd-extensions organization, kivymd-extensions/KivyMD_Extensions repository, kivymd-extensions/extension_template repository

  • [ ] Workflow to check package structure
    • Don't allow to edit kivymd_extensions/__init__.py file
    • Check that there is __version__ in __init__.py
  • [ ] Documentation for developers

KivyMD Template

kivymd/KivyMD_Template repository

  • [ ] Create KivyMD_Template utility - generator for new apps/packages/extensions
  • [ ] Create KivyMD_Template_Sample repository - template repository that user can just clone
  • [ ] Command line interface (CLI)
  • [ ] Graphical interface (GUI)
  • [ ] Show list of commands that utility will run
  • [ ] Show resulting file structure (before real creation)

Features:

  • [ ] Setup settings
    • PyCharm settings (.idea directory)
    • Git (.gitignore, .gitattributes, pre-commit), branches
    • Tools: autoformatters, linters
    • Packaging tools (Buildozer, PyInstaller)
    • CI (GitHub Actions)
  • [ ] Create screens
  • [ ] Create asynchronous classes: connection with API (asynchronous loading),
  • [ ] Customize theme

KivyMD Bot

kivymd/kivymd_bot repository

GitHub:

  • [ ] Welcoming new contributors
  • [ ] Pushing binaries, build website to kivymd/storage repository
  • [ ] Pull request status in second comment
  • [ ] Autolabeling, autoclosing, autolocking, autoassigning
  • [ ] Storing keys, signing packages, posting packages to PyPI
  • [ ] Marking donaters/sponsors
  • [ ] Autohide private, illegal or spam messages
  • [ ] Contacting sponsors to notify about their privileges
  • [ ] Synchronizing labels among all KivyMD repositories

Discord:

  • [ ] Welcoming new members (in direct message)
  • [ ] Controlling rules
    • Duplicate messages
  • [ ] Commands
    • Quick search in documentation
    • Instructions
  • [ ] Posting GitHub updates
    • Edit message when comment has been edited on GitHub
    • Edit message with pull request status
  • [ ] Autosetting roles (sponsors/extensions developers)
  • [ ] Posting announcements about new releases

Development workflow

  • [ ] Development in dev branch, latest release in main branch
  • [x] Structured labels
    • Scope: uix, tests, theming
    • Type: bug, enhancement; for KivyMD Extensions: new extension, extension request
    • Platform: android, ios, windows, linux, mac
    • Resolution: fixed, won't fix, rejected (for feature requests), out of date (already fixed in dev), duplicate, invalid
    • Priority: critical, high, normal, low
    • Bounty: has bounty; amount
    • Sponsoring level: donator, backer, gold sponsor
  • [ ] Milestones
    • New releases
    • Large features
  • [ ] Projects

Sponsoring

kivymd collective on OpenCollective

  • [ ] Accepting cryptocurrency donations
  • [ ] Automate bounty setting (if somebody sent a donation with message - issue id)

Design

  • [x] New color from Material palette that will be used for all our design
  • [ ] New logo that fits Material style and can be exported as .svg
    • KivyMD
    • KivyMD Extensions
    • KivyMD Template
    • KivyMD Collection
    • KivyMD Bot
    • Social preview

Other

  • [ ] Rebase KivyMD repository
    • Include old commits (currently all commits from older repositories are squashed into one)
    • Remove large files (replace them with empty file), decrease repository size
    • Fix commits author if there were any mistakes

ArtemSBulgakov avatar Nov 08 '19 20:11 ArtemSBulgakov