Giter Site home page Giter Site logo

initializr's People

Contributors

ccheetham avatar ddieruf avatar dependabot[bot] avatar hananiel avatar jkonicki avatar kevinmckinley 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

initializr's Issues

starter.zip GET doesn't honor query params

starter.zip does not seem to honor query parameters. In the following, projectName is set in POST and GET requests. In the POST request, the namespace is set the requested value, whereas in the GET request, the namespace is the default value.

POST request:

% curl https://startsteeltoe.cfapps.io/starter.zip -d projectName=MyCompany.MySample -o foo.zip
% unzip -c foo.zip Program.cs | grep namespace
namespace MyCompany.MySample
GET request:

% curl https://startsteeltoe.cfapps.io/starter.zip\?projectName=MyCompany.MySample -o foo.zip
% unzip -c foo.zip Program.cs | grep namespace
namespace steeltoeProject

Review of last merge

UI

  • The "save as" file name has a dot in it
  • Choosing netcoreapp3.0 creates a netcoreapp22 project

All Projects

  • Remove SampleOptions.cs from project
  • Remove Dockerfile from project
  • Remove AppSettings.Development from project

MySQL
-Update to suggested code (wrong controller was copied in)

Placeholder

  • Missing values in appsettings.json
  • Remove "services.Configure(Configuration);" from startup.cs

RandomValue

  • appsettings.json is malformed

Mongo

  • Remove "services.AddRabbitMQConnection(Configuration);" from startup.cs
  • Wrong controller code being generated (looks like rabbit stuff is getting added in)
  • Remove RabbitmQ package
  • appsettings.json is malformed

CloudFoundry

  • Replace .UseCloudFoundryHosting(5555) with .UseCloudFoundryHosting() in program.cs
    -RabbitMQ stuff made it in the project similar to Mongo. Need to clean up.
  • appsettings.json is malformed

Actuators

  • RabbitMQ stuff made it in the project similar to Mongo. Need to clean up.
    -appsettings.json is malformed

Discovery

  • RabbitMQ stuff made it in the project similar to Mongo. Need to clean up.
  • appsettings.json is malformed
    -Update to suggested code (the wrong controller was copied in)

Actuators not running with the netcore 2.1.

MyCompany.SteeltoeExample.csproj: [NU1107] Version conflict detected for Microsoft.AspNetCore.Http.Abstractions. Install/reference Microsoft.AspNetCore.Http.Abstractions 2.2.0 directly to project MyCompany.SteeltoeExample to resolve this issue.
MyCompany.SteeltoeExample -> Steeltoe.Management.CloudFoundryCore 2.3.0 -> Steeltoe.Management.EndpointCore 2.3.0 -> Microsoft.AspNetCore.Diagnostics.HealthChecks 2.2.0 -> Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
MyCompany.SteeltoeExample -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.AspNetCore.Http.Abstractions (>= 2.1.1 && < 2.2.0).

Dockerfile not formatted correctly

When I added in the Dockerfile dependency, line 9 was COPY. . and it needs to be COPY . .. Also line 18 was ENTRYPOINT["dotnet","xxx.dll"] and it should be ENTRYPOINT ["dotnet","xxx.dll"].

Make the site compliant

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

Be compliant with lawyers

Describe the solution you'd like

You'd want to switch to using the Google Tag Manager code from steeltoe.io, which loads the cookie consent script. We're also supposed to force ssl. I'm noticing that start.spring.io doesn't have the requisite legal footer...if you're talking with them, maybe you could pass that info along..should be the same as the spring.io footer. start.steeltoe.io should be the same as the steeltoe.io footer.

Describe alternatives you've considered

Additional context

Default curl values

I ran this:

curl https://start.steeltoe.io/starter.zip -o PiggyMetrics.zip -d projectName=piggymetrics -d dependencies=actuators,discovery,dynamiclogger,configserver,mongodb,oauthconnector

And it gave me this VS project type:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
    </PropertyGroup>

  <ItemGroup >
    <PackageReference Include="Microsoft.AspNetCore.App"/>
    <PackageReference Include="Steeltoe.Extensions.Configuration.ConfigServerCore" Version="2.3.0" />
    <PackageReference Include="Steeltoe.Management.ExporterCore"  Version="2.3.0"/>
    <PackageReference Include="Steeltoe.Management.CloudFoundryCore" Version="2.3.0" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
    <PackageReference Include="Steeltoe.Discovery.ClientCore" Version="2.3.0"/>
    <PackageReference Include="Steeltoe.CloudFoundry.ConnectorCore"  Version="2.3.0"/>
    <PackageReference Include="MongoDB.Driver" Version="2.8.1" />
    <PackageReference Include="Steeltoe.Extensions.Logging.DynamicLogger" Version="2.3.0"/>
  </ItemGroup>
</Project>

It should have matched the defaults of the UI. Steeltoe packages 2.4.x and netcoreapp3.1.

Add google analytics when project is generated

When the 'generate project' button is clicked, send event info to analytics. Break out each dependency as an event as well as the download itself as an event.

  • To send a single event, the analytics ref is here.
  • Under the covers, it is using an HTTP based measurement protocol. For bulk events refer to this doc

Example 1:
A visitor chooses steeltoe2.3, netcoreapp23, dependency1, dependency2, dependency3. This should result in 6 events being sent to analytics.

  1. ('send','event','Generated Project', 'Clicked', '')
    2, ('send','event','Generated Project', 'Steeltoe-Framework', 'steeltoe2.3')
  2. ('send','event','Generated Project', 'Net-Framework', 'netcoreapp2.3')
  3. ('send','event','Generated Project', 'Dependency', 'dependency 1')
  4. ('send','event','Generated Project', 'Dependency', 'dependency 2')
  5. ('send','event','Generated Project', 'Dependency', 'dependency 3')

Event info values
eventCategory - [Generated-Project]
eventAction - [Net-Framework, Steeltoe-Framework, Dependency, Clicked-Download]
eventLabel - [netcoreappX.X, steeltoeX.X, ]

Project name validation error persists when name is corrected

Describe the bug

Once the project name gets an invalid name, you can't submit anything

Steps to reproduce

Steps to reproduce the behavior:

  1. on start.steeltoe.io input My-Project as the project name
  2. click generate project to fire the validation error message
  3. change the project name to MyCompany.ProjectName
  4. click generate project and the validation error persists

Expected behavior

Once changed the project to something valid, the error should not fire

[Feedback] Where is netcoreapp3.0 ?

We noticed that the netcoreapp3.0 target framework was bringing in 2.2 dependencies (last week). Is there an eta when netcoreapp3.0 will be added back to the initializr with the correct dependencies?

Thanks.

Dockerfile not following chosen .NET version

I chose netcore31 in the UI with Dockerfile dependency, but within the Dockerfile a version of 2.2 was used. Looks it may be hardcoded. I think it should be relative to what is chosen by user.

generated zipfile contents do not have file permissions set

More specifically, on OSX/Linux the permissions are 000.

Example:

% curl https://startsteeltoe.cfapps.io/starter.zip > foo.zip
% unzip foo.zip
Archive: foo.zip
inflating: Dockerfile
inflating: Program.cs
inflating: steeltoeProject.csproj
inflating: Startup.cs
inflating: app.config
inflating: appsettings.Development.json
inflating: appsettings.json
inflating: mustache.json
inflating: sourceExclusions.json
inflating: versions.props
inflating: Controllers/ValuesController.cs
inflating: Properties/launchSettings.json
% ls -l
total 17
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Controllers/
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Properties/
---------- 1 ccheetham qa 128 Aug 20 2019 app.config
---------- 1 ccheetham qa 137 Aug 20 2019 appsettings.Development.json
---------- 1 ccheetham qa 99 Aug 20 2019 appsettings.json
---------- 1 ccheetham qa 485 Aug 20 2019 Dockerfile
-rw-r--r-- 1 ccheetham qa 4729 Aug 20 11:07 foo.zip
---------- 1 ccheetham qa 4459 Aug 20 2019 mustache.json
---------- 1 ccheetham qa 819 Aug 20 2019 Program.cs
---------- 1 ccheetham qa 31 Aug 20 2019 sourceExclusions.json
---------- 1 ccheetham qa 1165 Aug 20 2019 Startup.cs
---------- 1 ccheetham qa 364 Aug 20 2019 steeltoeProject.csproj
---------- 1 ccheetham qa 695 Aug 20 2019 versions.props
Should be something like:

% ls -l
total 49
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Controllers/
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Properties/
-rw-r--r-- 1 ccheetham qa 128 Aug 20 2019 app.config
-rw-r--r-- 1 ccheetham qa 137 Aug 20 2019 appsettings.Development.json
-rw-r--r-- 1 ccheetham qa 99 Aug 20 2019 appsettings.json
-rw-r--r-- 1 ccheetham qa 485 Aug 20 2019 Dockerfile
-rw-r--r-- 1 ccheetham qa 4729 Aug 20 11:07 foo.zip
-rw-r--r-- 1 ccheetham qa 4459 Aug 20 2019 mustache.json
-rw-r--r-- 1 ccheetham qa 819 Aug 20 2019 Program.cs
-rw-r--r-- 1 ccheetham qa 31 Aug 20 2019 sourceExclusions.json
-rw-r--r-- 1 ccheetham qa 1165 Aug 20 11:09 Startup.cs
-rw-r--r-- 1 ccheetham qa 364 Aug 20 11:09 steeltoeProject.csproj
-rw-r--r-- 1 ccheetham qa 695 Aug 20 2019 versions.props

Add version numbers to web UI

Add a version numbers to UI. Something that a user can use to determine current version of UI and backend being used.

HTML head values

Add to <head> of page

<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta charset="utf-8">
<meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">

<meta property='og:type' content='website'>
<meta property="og:title" content="Kick start your cloud-native .NET apps with Initializr" />
<meta property="og:url" content="https://start.steeltoe.io" />
<meta property="og:image" content="https://steeltoe.io/images/favicon.png" />
<meta property="og:description" content="Steeltoe Initializr provides an extensible API and UI to generate .NET WebAPI-based projects with customizations for specific cloud components in mind." />
<meta name='twitter:title' content='Kick start your cloud-native .NET apps with Initializr.'>

<meta content="Kick start your cloud-native .NET apps with Initializr." name="DC.Title" xml:lang="EN">
<meta content="cloud-native, .net, dotnet, framework, cloud, developer" name="DC.Subject" xml:lang="EN">
<meta content="Steeltoe Initializr provides an extensible API and UI to generate .NET WebAPI-based projects with customizations for specific cloud components in mind." name="description" xml:lang="EN">
<meta content="EN" name="DC.Language" scheme="dcterms:RFC1766">
<meta content="https://start.steeltoe.io/" name="DC.Identifier" schema="DCterms:URI">
<meta content="text/html" name="DC.Format" schema="DCterms:IMT">
<meta content="Pivotal Software" name="DC.Creator">
<meta content="Steeltoe OSS" name="DC.Publisher">
<meta content="[email protected]" name="DC.Publisher.Address">
<meta content="Steeltoe OSS" name="DC.Contributor">
<meta content="2019-10-03" name="DC.Date" scheme="ISO8601">
<meta content="text/html" name="DC.Type">
<meta content="https://start.steeltoe.io/" name="DC.Identifier">

<title>Steeltoe OSS - Initializr</title>
<link href='https://start.steeltoe.io/' rel='canonical'>
<link href="https://steeltoe.io/images/favicon.png" rel="icon" type="image/png" />

Adding both CF Hosting and Config Server options results in ambiguous references in program.cs file

Describe the bug

When using the initializer and selecting both the Cloud Foundry Hosting and Config Server, the code that is generated for the Program.cs file creates a conflict between the two libraries and results in an error when compiling. The workaround is to remove the hosting reference within the file.

Steps to reproduce

Steps to reproduce the behavior:

  1. Select Config Server and Cloud Foundry options in the initializer
  2. Generate the code
  3. Compile

Expected behavior

The right reference is added to the Program.cs file and should compile without ambiguous reference message

Environment (please complete the following information):

  • Platform: Cloud Foundry
  • OS: Windows
  • .NET Version 3.1
  • Steeltoe Version 2.4.0
  • Template type: NA

Caching on site causes problems on app updates

Describe the bug

The cache holds the version values and requires users to force refresh (sometime more than once).

Steps to reproduce

Steps to reproduce the behavior:
1.Use App
2. Update app version i.e. Steeltoe 2.4.3 to Steeltoe 2.4.4
3. Check the app and the cached version will show.
4. If the user selects the cached version it will give an invalidparam error message.

Expected behavior

Remove cache or add a cache timeout. We need to see the updated version.

image (5)

Spring Config Server

The Config Values are returned as NULL for the scaffolded project - 'Spring Config Server', Please suggest if we can start using this for one of our Project.

launchSettings profile name not correct

Describe the bug

I created a project named "kpack_demo". Within the project's launchSettings.json there was a profile named "Company.WebApplication1" which I assume should have been named to match my project name.

Steps to reproduce

Steps to reproduce the behavior:

  1. start.steeltoe.io
  2. create project named kpack_demo, leaving everything else default (no dependencies added)
  3. open project in VS
  4. open file Properties/launchSettings.json

Expected behavior

I expected the profile name to match my project name, which matches my namespace.

Environment (please complete the following information):

  • Platform: n/a
  • OS: Windows
  • .NET Version: .NET COre 3.1
  • Steeltoe Version: 2.4
  • Template type: default with no dependencies
  • Any other library versions to note: nope

Create a individual library for the generation of projects

Move the project generation code into its own library (nuget) and likely its own repository.

Releasing this separately will allow others to use it and allow a clear way for upgrading to later versions in the future.

This library will be used as the basis for the Steeltoe Initializr project generator.

Search dependencies feature is causing the screen to turn white

Describe the bug

When searching for dependencies on the Web App, once you select a dependency the screen turns white.

Steps to reproduce

Steps to reproduce the behavior:

  1. Search for dependency
  2. Select Dependency
  3. Watch the screen turn white

Expected behavior

The dep is selected and added to dependency for application

Environment (please complete the following information):

  • Chrome, Firefox

Official GA of Initializr

This Epic will track the issues left before we can have an official release of Initializr (i.e. removing the Beta designation).

Disable caching on Beta site

For Beta site, we should disable caching so that users do not need to clear their caches when using the site.

Cache-Control: no-cache, must-revalidate

Remove BETA

What actions or tests need to pass to remove beta marking?

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.