Code Monkey home page Code Monkey logo

appbuilder-portal's People

Contributors

abillingsley avatar chrisvire avatar davidmoore1 avatar garrett-hopper avatar giancorzo avatar jonnolen avatar nullvoxpopuli avatar rarkins avatar renovate-bot avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appbuilder-portal's Issues

Generate Desktop Apps

There is still a need for distributing Electron-based apps for desktop in situations where PWA install is not an option.

Nativefier can generate an Electron app based on a website (http or file url). It uses electron-packager to create the Windows, Mac, or Linux application folder. There are several options for creating a distributable.

For Linux, we should look at snap or flatpak.

For Mac, it should be notarized. We can look at using Circle CI to run macOS tasks remotely. We have done research with appbuilder-ci-ios to sign iOS apps remotely. Something similar should be doable with Notarization.

Switch to react-redux v7.1.0

It seem's you're using use-redux in your dependency.

As react-redux now support hooks, you should switch to react-redux for the official react redux support.

use-redux will be deprecated soon and the repository will be archived.

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: Invalid JSON (parsing failed)
Message: Syntax error: expecting String near // Up

Dependency Dashboard

This issue contains a list of Renovate updates and their statuses.

Rate Limited

These updates are currently rate limited. Click on a checkbox below to force their creation now.

  • Update dependency source-map-loader to v1
  • Update dependency style-loader to v1
  • Update dependency ts-loader to v8
  • Update dependency ts-node to v9
  • Update dependency tslint to v6
  • Update dependency typescript to v4
  • Update dependency url-loader to v4
  • Update dependency use-debounce to v3
  • Update dependency uuid to v8
  • Update dependency webpack-node-externals to v2
  • Update mui monorepo (major) (@material-ui/core, @material-ui/icons)

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.


  • Check this box to trigger a request for Renovate to run again on this repository

Epic: Improve Onboarding Process

The current on boarding process:

  1. Organizational Admin invites user to organization with email by

    a. clicking "+ Invite User"
    image

    b. entering email in popup

image

  1. User receives an email

image

With this link:
https://dev.scriptoria.io/invitations/organization-membership/ef645de4-8b47-4bcd-a61a-d56a7b110aa4

  1. User clicks on link in email and goes to for with Log In or Sign Up. Which should they use?

image

  1. Use Sign up then get "Please verify your email address"

image

  1. Receive "verify your account" from "[email protected]" ? (this might be due to this being the dev tennant)

image

  1. Receive "Email verification" screen

image

  1. Sign out and try to sign in ... but get "Organization Membership is Required

image

Who is Organization administrator? How do I contact them?

  1. Finally check with Organization Admin, but there is no record of the user being added to the organization.

  2. Try link in first email and Sign In this time

image

  1. Sign out, wait a little, sign in again and l get logged in, but I can't do anything:

image

image

  1. Communicate to Organization Admin again ... they can now see the user and assign to groups and roles

image

Observations

  • Email from Scriptoria is poorly formatted (simplistic). Should we make it more like email coming from Auth0?
  • Why didn't the first time with the invitations/organization-membership and the Signup not connect the new user to the organization?
  • Sometimes when the user tries to use the invitation for the first time, they get a "token already used" (I think React has rendered multiple times and sends multiple requests).
  • It would be good for the admin to assign roles and group at the time of the invitation (it would require changing the schema for the OrganizationMembership.

Epic: Improve Project Load Time

We will be switch the front-end and back-end of the website to Svelte/SvelteKit. One of the reasons is that the performance of the project page is unpredictable and often times out. We used to have a 5 second timeout and then would stop rendering the page. We had to increase it to 10 seconds and then 60 seconds.

The Project page has several related objects in the query:

  • Products of Project
  • Groups of Organization of Project
  • Users in Group of Project
  • Authors in Group of Project
  • ProductTransition of Product
  • ProductDefinitions of Organization

The Project page has these separate components:

  • Project Details
  • Project Dropdown
  • Products List
  • Product Summary
  • Product Dropdown
  • Organization
  • Project Owner (User List)
  • Project Group
  • Authors
  • Add Author
  • Reviewers
  • Add Reviewer
  • Repository Location
  • Settings

The project page has these dialogs:

  • Product Details
  • Product Publishing Properties
  • Add Products
  • Remove Products
  • Product Details

The Project page has these related pages:

  • Edit Project Details
  • Product Files

Screenshots

Project Page

image

image

Project Dropdown

image

Product Dropdown

image

Project Owner

image

Project Group

image

Add Author

image

image

Add Reviewer

image

Product Details

image

Add Products

image

Remove Products

image

Epic: Replace Workflow

Scriptoria uses DWKit .NET-based workflow engine to implement long-lived workflows. We chose this for the following reasons:

  1. Our back-end was going to be ASP.NET Core
  2. We wanted to allow the service to be run by non-programmers. So we wanted:
    a. no-code solution
    b. graphical workflow creation
    c. form engine
    Originally, the licensing cost of DWKit started at $3K/yr and has increased to $15/yr.

Here are reasons for changing the workflow:

  • The license maintenance cost is too much.
  • The handing of the service over to non-programmers never happened and will probably never happen.
  • When we selected DWKit, we were not web developers and we were concerned with implementing the workflow forms. We are now more experienced web developers and it isn't a problem.
  • We are using Svelte+SvelteKit for other web-based projects and it would be easier to maintain Scriptoria with Svelte+SvelteKit instead of React.
  • Upgrading the version of the workflow engine is hard due to manual database migration for features we don't use.
  • The version of DotNet Core we are currently using is very old (2.1). Upgrading to newer versions is a time consuming process.
  • There are also dependent core libraries (for jsonapi) that have significant breaking changes for 2.1 to newer DotNet Core versions.
  • Even with the graphical workflow, we still had to add code for the events.
  • The workflows haven't changed and will only have minor changed (e.g. for auto rebuilds).
  • Hosting the workflow in the back-end causes problems with the back-end crashes or needs to be restarted.
  • The workflows can stall due to retry loops in the workflow stopping.

Plan:

  • We will be implementing the workflow forms in Svelte+SvelteKit.
  • We will be implementing the workflows in AWS Simple Workflow Service or AWS Step Functions

React App's bundle size needs to be smaller

Did a bundle analysis from this branch/pr: #182
image

Main notes:

  • (173KB gz) auth0-lock includes its own node_modules|
    • 72KB is "node_modules"
    • 101KB is "lib" -- maybe there is a way to get this trimmed down or load auth0-lock async when we hit the login route
  • (132KB gz) semantic-ui
    • about 28KB is unused image assets
  • (62KB gz) semantic-ui-react
    • should be able to be trimmed down by not importing any components from semantic-ui-react
  • (62KB + 16.34KB + 24.85KB gz) moment
  • app.js is looking good at 63KB
    • 10KB is css - maybe this could be trimmed?

Epic: Automate Rebuild/Republish to increase availability of apps

We will add a setting to a project that will cause it to initiate a rebuild workflow when a new version of App Builders is enabled on Scriptoria. When the rebuild is initiated, it will either:

  • run rebuild workflow and stop at Verify and Publish step and notify reviewers when ready
  • run rebuild workflow completely and notify reviewers of publication

Notifications will ignore user's preference of whether to receive notifications by email.

There will be an additional page in the admin pages to initiate a new rebuild.

The rebuilds should be only be initiated for projects that have completed the initial workflow and are not in the middle of a rebuild or republish workflow.

We need to decide if the rebuilds happen to all products of a project or whether we have to opt-in to auto rebuilds per product.

Allow existing app in the Android App to Google Play initial workflow

In the Android App to Google Play workflows, we used it have the user upload the APK during the Create App Store Entry step and then we would upload it again during Product Publish step. There was a recent change in the Google Play Store APIs that would fail the publish if we tried to upload the APK again. So we had to add logic in the workflow to only upload once.

For apps that are already in the store and they are being added to Scriptoria, we need to skip the Create App Store Entry and upload the APK during Product Publish.

I recommend that we add an option somewhere to specify whether the app already exists. This probably should be at Create App Store Entry.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.