Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✓ KivyMD. TODO List #139

Open
ArtemSBulgakov opened this issue Nov 8, 2019 · 0 comments
Open

✓ KivyMD. TODO List #139

ArtemSBulgakov opened this issue Nov 8, 2019 · 0 comments
Labels
Type: Enhancement Feature request/Feature implementation

Comments

@ArtemSBulgakov
Copy link
Member

ArtemSBulgakov commented Nov 8, 2019

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

  • Auto formatting with Black
    • Checking formatting via GitHub Actions
  • Script for making release
  • 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

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

Documentation

  • Make one-style documentation for all modules
  • 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
  • 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

  • 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 ArtemSBulgakov added the Type: Enhancement Feature request/Feature implementation label Nov 8, 2019
@ArtemSBulgakov ArtemSBulgakov pinned this issue Nov 8, 2019
@ArtemSBulgakov ArtemSBulgakov changed the title TODO List ✓ TODO List Oct 31, 2020
@ArtemSBulgakov ArtemSBulgakov changed the title ✓ TODO List ✓ KivyMD. TODO List Oct 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Feature request/Feature implementation
Projects
None yet
Development

No branches or pull requests

1 participant