Coder Social home page Coder Social logo

steeltoeoss / initializrweb Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 4.0 7.12 MB

Reference implementation of a Steeltoe Initializr UI project generator

License: Apache License 2.0

HTML 0.68% Shell 0.40% Dockerfile 0.17% JavaScript 21.18% SCSS 6.83% Java 70.21% Mustache 0.53%

initializrweb's People

Contributors

arvindkrishnakumar-okta avatar bclozel avatar bdemers avatar ccheetham avatar davsclaus avatar ddixit14 avatar dependabot[bot] avatar eddumelendez avatar elefeint avatar jdubois avatar joshiste avatar juhopiirainen avatar jvalkeal avatar kazuki43zoo avatar mbhave avatar mehdi-vaadin avatar mstahv avatar olgamaciaszek avatar oodamien avatar philwebb avatar qtdzz avatar royclarkson avatar ryanjbaxter avatar snicoll avatar spencergibb avatar spring-builds avatar spring-operator avatar stekoe avatar wilkinsona avatar zhesun88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

initializrweb's Issues

Using shared URL shows incorrect error that Steeltoe version not supported

Dark Mode for UI

Is your feature request related to a problem? Please describe.

No

Describe the solution you'd like

Would like to switch between dark and light modes just like spring initializr.

Describe alternatives you've considered

NA

Additional context

NA

Incorrect error message when selecting framework version that is newer than the supported version

As an example, InitializrWeb version 1.0.1 has a dependency Azure Spring Cloud that does not yet support net5.0. Its constraint definition is dotNetFrameworkRange: netcoreapp3.1 which translates to netcoreapp3.1 and only netcoreapp3.1.

If the ASC dependency and net5.0 are selected, the error message is: "Requires .NET Framework >= netcoreapp3.1."

The error message should be something like "Requires .NET Framework netcoreapp3.1"

Namespace value should default to Name value

The project Namespace should default to the project Name.

The Name is what is ultimately used as the downloaded file name.
The Namespace is the name of the .NET project and namespace.

Version label should come from build ID/tag

The version info should come from build ID, or if built from a tag, the tag.

Examples:

build ID
Steeltoe Initializr Web, version 0.1.0-119

tag
Steeltoe Initializr Web, version 0.1.0

Display Initializr Config version

Similarly to #60, the Steeltoe Initializr config version (GitHub commit ID?) would be very useful to see in the UI. This would make it obvious what configuration is being used in a particular deployment.

add Docker compose

Add a docker compose file that:

  • starts dependencies
  • starts Steeltoe.Initializr.Starter

Replace generic server error with specific details

Any issues with API server, e.g. non-responsive or non-200 HTTP codes, yields the error in the UI "Could not connect to server. Please check your network."

It'd be helpful for problem resolution if the UI error contained more specifics.

hide language in UI

Only C# will be available for the near future. No need to provide a list of one.

Add version numbers to UI

Version numbers ...

must include:

  • Starter version

should includes:

  • WebApi version

may include:

  • Configuration version

Provide the ability to show dependent libraries that only support specific .NET version selected in the UI and CLI

Is your feature request related to a problem? Please describe.

Some libraries that will be added to Initializr will only support certain versions of .NET (i.e. netcoreapp21 or netcoreapp31).

Describe the solution you'd like

Once the .NET version is selected, we should disable selection for the libraries that are not supported.
I recommend disabling and graying out over hiding, because this will all the user to still see what options are available if they change their .NET version.

Once the .NET version is selected, it should pull the information from the backend and update the WebUI accordingly vs having the WebUI handle this. Main reason for this would be to also support this functionality on the CLI and cURL option.

Additional context

Some new libraries we will be adding will only support .NET Core 3.x and it should be reflected according in the UI.

add Dockerfile

Add a Dockerfile that:

  • builds project
  • starts server, passing along any arguments

render project specification fields based on metadata hints

The configuration metadata from InitializrAPI contains a type hint which can be used to render the HTML component in the UI project specification page.

The sample fields referenced below can be viewed at the Spring Initializr.

The type hints are:

  • text
  • single-select
  • hierarchical-multi-select

text

This hint is for basic freeform text input. There may be a default value supplied. A sample field in the Spring Initializr is Name.

Example (description field):

description:
  type: text
  default: Demo project for Steeltoe

single-select

This hint is for fields that must have one and only one of a list of items. There will be a default value supplied.

A sample field in the Spring Initializr is Spring Boot.

Example (Steeltoe release field):

steeltoeRelease:
  type: single-select
  default: 2.4.4
  values:
  - id: 2.4.4
  - id: 3.0.0-m2

hierarchical-multi-select

This hint is for fields that can have zero or one of list of grouped items. The groupings are purely to to make it easier for a user to see related items. There may be one or more default values supplied. The sample field in the Spring Initializr is Dependencies.

Example (dependencies field):

dependencies:
  type: hierarchical-multi-select
  values:
  - name: Steeltoe
    values:
    - id: actuators
      name: Actuators
      description: add management endpoints
    - id: circuitbreakers
      name: Circuit Breakers
      description: add circuit breakers
  - name: omeThirdParty
    values:
    - id: somedep
      name: Some Dependency
      description: some 3rd party dependency

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.