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

Community App Store (Fork) #69

Draft
wants to merge 1,359 commits into
base: develop
Choose a base branch
from
Draft

Community App Store (Fork) #69

wants to merge 1,359 commits into from

Conversation

Archmonger
Copy link
Owner

@Archmonger Archmonger commented Aug 19, 2021

Description

This PR tracks progress for a fork of Conreq to support a community app store. This will restructure Conreq as a web app platform.

See the readme for more details.

Testing

  1. Pull down the archmonger/conreq@app_store branch from GitHub
  2. pip install -r requirements.txt
  3. python manage.py run_conreq

Tasks required

  • Remove non-essential functionality from Conreq Core
  • manage.py command for starting a new package.
  • manage.py command for adding an app to a package.
  • Create database model for app store.
  • Create Conreq utilities code.
  • Automatically initialize apps at startup
  • Notify if duplicate app (development/production copies) are detected
  • Prioritize development copies of duplicate app packages
  • Design python API for apps to integrate with Conreq
  • Clean up sign in, sign up, initialization, and offline templates
  • Develop Django-IDOM
  • Repository that hosts all known apps in JSON format.
  • Automatically enter SAFE_MODE if apps fail to run
  • Move pwa defaults out of settings.py
  • Background tasks with seconds scheduling resolution
  • Simple way to add a user profile attribute
  • Update readme to specify new capabilities
  • Rework front-end to use React components (via IDOM) #54
  • Add email capabilities
  • Move the docs into the main branch
  • Automatically backup the database
  • Develop password reset
  • Serve media files via Django
  • Develop Manage Users tab
  • Develop Server Settings tab
  • Develop User Settings tab
  • iFrame Event API
  • Allow settings.env values to be put into forms.
  • Prep Conreq to be pip installable
  • Create interface for generating invite links
  • Develop App Store tab
  • ReactJS URL routing

Non-Critical Tasks (can happen after PR)

  • Create documentation for app development
  • Create a handful of new apps
  • Create generic API Class Based View (CBV) with CSRFExemptMixin
  • Replace django-compressor with django-pipeline
  • Create generic UI component apps
  • PWA and favicon settings
  • Clear cache button
  • Installers for all major operating systems
  • Automatic license aggregator
  • SCSS compiler
  • Proper testing suite using playwright
  • Locally host all CSS
  • Convert views to async
  • Convert all tabs to IDOM components
  • Registering new health check backends
  • Invite email template creator
  • Mobile compatibility on all pages
  • Configurable search bar
  • Landing page framework
  • Make sidebar tabs sortable through the admin interface
  • Extensible mobile bottom bar
  • Remove bootstrap. Use HTML Dialog,popover, container queries, and css nesting instead

@Archmonger Archmonger self-assigned this Aug 19, 2021
@Archmonger Archmonger added enhancement New feature or request dependencies Pull requests that update a dependency file labels Aug 19, 2021
@Archmonger Archmonger added this to To do in Beta Feature Set [Core Features] via automation Aug 19, 2021
@Archmonger Archmonger moved this from To do to In Progress in Beta Feature Set [Core Features] Aug 19, 2021
@Archmonger Archmonger changed the title Community App Store and modularize Conreq Community App Store and Modularize Conreq Aug 19, 2021
@ghost
Copy link

ghost commented Aug 19, 2021

Congratulations 🎉. DeepCode analyzed your code in 3.921 seconds and we found no issues. Enjoy a moment of no bugs ☀️.

👉 View analysis in DeepCode’s Dashboard | Configure the bot

👉 The DeepCode service and API will be deprecated in August, 2021. Here is the information how to migrate. Thank you for using DeepCode 🙏 ❤️ !

If you are using our plugins, you might be interested in their successors: Snyk's JetBrains plugin and Snyk's VS Code plugin.

@Archmonger
Copy link
Owner Author

Archmonger commented Aug 19, 2021

@rmorshea This branch will be used to both integrate IDOM Conreq, and to flesh our the framework portions of Conreq.

@Archmonger Archmonger changed the title Community App Store and Modularize Conreq Community App Store Aug 21, 2021
@Archmonger Archmonger linked an issue Aug 21, 2021 that may be closed by this pull request
Repository owner deleted a comment from sourcery-ai bot Oct 21, 2021
@Archmonger
Copy link
Owner Author

Archmonger commented Nov 19, 2021

@rmorshea Most of the major IDOM tasks have been completed. The viewport is now procedurally generated based on user installed apps.

Just to give you a heads up, there's a few things that I'm blocked on

  • No component hyperlink support (needs react-router)
  • Modal rendering (Cannot hide/display modal without either react-bootstrap or script=...)
  • Mobile sidebar togglers (Cannot hide/display modal without either react-bootstrap or script=...)
  • Sign out buttons don't refresh the page (Needs script=... or a custom javascript component)

After I finish the low hanging fruit on this side, I'll see what I can do to support development of these features in IDOM Core.

@sourcery-ai
Copy link

sourcery-ai bot commented May 6, 2022

Sourcery Code Quality Report

❌  Merging this PR will decrease code quality in the affected files by 10.95%.

Quality metrics Before After Change
Complexity 9.47 🙂 12.87 🙂 3.40 👎
Method Length 78.04 🙂 78.49 🙂 0.45 👎
Working memory 9.39 🙂 17.10 ⛔ 7.71 👎
Quality 62.33% 🙂 51.38% 🙂 -10.95% 👎
Other metrics Before After Change
Lines 7601 1028 -6573
Changed files Quality Before Quality After Quality Change
manage.py 95.69% ⭐ 80.53% ⭐ -15.16% 👎
conreq/__init__.py % 96.34% ⭐ %
conreq/asgi.py 79.16% ⭐ 71.12% 🙂 -8.04% 👎
conreq/settings.py 10.01% ⛔ 10.94% ⛔ 0.93% 👍
conreq/urls.py 42.63% 😞 52.84% 🙂 10.21% 👍
conreq/utils/cache.py 52.19% 🙂 59.35% 🙂 7.16% 👍
conreq/utils/database.py 91.38% ⭐ 91.54% ⭐ 0.16% 👍
conreq/utils/environment.py 82.79% ⭐ 80.92% ⭐ -1.87% 👎
conreq/utils/generic.py 81.60% ⭐ 82.28% ⭐ 0.68% 👍
conreq/utils/threads.py 83.25% ⭐ 91.23% ⭐ 7.98% 👍

Here are some functions in these files that still need a tune-up:

File Function Complexity Length Working Memory Quality Recommendation
conreq/utils/cache.py get_or_set_many 7 ⭐ 192 😞 10 😞 52.13% 🙂 Try splitting into smaller methods. Extract out complex expressions
conreq/utils/cache.py get_or_set 7 ⭐ 144 😞 12 😞 53.04% 🙂 Try splitting into smaller methods. Extract out complex expressions
conreq/utils/generic.py clean_string 5 ⭐ 80 🙂 10 😞 66.89% 🙂 Extract out complex expressions

Legend and Explanation

The emojis denote the absolute quality of the code:

  • ⭐ excellent
  • 🙂 good
  • 😞 poor
  • ⛔ very poor

The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.


Please see our documentation here for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us improve this quality report!

@Archmonger Archmonger removed the dependencies Pull requests that update a dependency file label May 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Cleanup tasks such as refactoring. enhancement New feature or request
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Rework front-end to use React components (via IDOM)
1 participant