The ML Platform Behind Uber's AI
Michelangelo AI: Uber's end-to-end machine learning platform.
Translation pending
start.spring.io with Apache Wicket: the Spring Initializr behind start.fullstack4j.dev
Developer toolsJava · JavaScriptGitHub @danielbartlOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗= fullstack4j start
A fork of https://github.com/spring-io/start.spring.io[start.spring.io] that runs at https://start.fullstack4j.dev. It offers everything start.spring.io does, plus Apache Wicket, through https://danielbartl.github.io/wicket-spring-boot-starter/[the Wicket Spring Boot Starter], and fullstack4j, the whole stack through https://github.com/danielbartl/fullstack4j-spring-boot-starter[the fullstack4j Spring Boot Starter], in a Wicket-orange UI. Generated projects build with Maven by default.
== What differs from upstream
The fork deliberately stays close to upstream, so that new Spring Boot versions and fixes keep arriving through regular merges:
start-site/src/main/resources/application.yml: the fullstack4j entry in a group of its own
at the top, the Apache Wicket entry at the top of the "Web" group, and Maven instead of
Gradle as the default project type. All are marked with a fullstack4j comment or sit next
to one.start-site/src/main/java/.../extension/dependency/fullstack4j: fullstack4j projects get
the test starter, fullstack4j-spring-boot-starter-test, and a Test<Application> and
application test that run against MongoDbReplicaSetConfiguration (registered in
META-INF/spring/...ProjectGenerationConfiguration.imports). The wicket, data-mongodb,
modulith and testcontainers entries are dropped when fullstack4j is selected, since it
brings all four (Fullstack4jProjectDescriptionCustomizer, registered in
ProjectDescriptionCustomizerConfiguration).start-site/src/main/java/.../extension/dependency/wicket: Wicket projects get the
starter's test starter, wicket-spring-boot-starter-test (registered in
DependencyProjectGenerationConfiguration), and a Java version of at most 25, as do
fullstack4j projects.
.../dependency/jobrunr makes JobRunr projects run out of the box (registered in
META-INF/spring/...ProjectGenerationConfiguration.imports).start-client: the logo, colors, icons, social card, page metadata and links, and
fullstack4j and Wicket weighted first in the dependency search (src/Extend.json).Dockerfile and railway.json: the container image and its Railway deployment.== Updating from upstream
$ git remote add upstream https://github.com/spring-io/start.spring.io.git # once
$ git fetch upstream
$ git merge upstream/main
Conflicts, if any, are limited to the files listed above. Upstream builds against Spring Initializr snapshots from https://repo.spring.io/snapshot, and so does this fork.
== Running it
$ docker build -t fullstack4j-start .
$ docker run -p 8080:8080 fullstack4j-start
On Railway, the service builds from the Dockerfile (see railway.json), listens on the
PORT Railway provides and reports its health at /actuator/health.
The live site, https://start.fullstack4j.dev, is that Railway service. It redeploys on every
push to main. The site can also be used from the command line, like start.spring.io:
$ curl https://start.fullstack4j.dev/starter.zip -d dependencies=wicket -o demo.zip
== Trademarks
Spring is a trademark of Broadcom Inc. Apache Wicket is a trademark of The Apache Software Foundation. This project is not affiliated with or endorsed by either. The upstream README follows.
'''
= start.spring.io image:https://badges.gitter.im/spring-io/initializr.svg[link="https://gitter.im/spring-io/initializr?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"] :library: https://github.com/spring-io/initializr
This repository configures a {library}[Spring Initializr] instance with a custom UI running at https://start.spring.io. The following modules are available:
start-client: client-side assetsstart-site: server infrastructure and metadata configurationstart-site-verification: tests to verify the validity of the metadata[[using]] == Using There is a link:USING.adoc[dedicated page] that describes how you can interact with the service.
[[build]] == Building from Source
You need Java 17 and a bash-like shell.
[[building]] === Building
Invoke the build at the root of the project
$ ./mvnw clean install
The project also includes a number of longer-running verification tests. They
can be built and run using the verification profile:
$ ./mvnw -Pverification clean install
The project's other tests are not included in the verification profile. All of
the project's tests can be run using the full profile:
$ ./mvnw -Pfull clean install
If building start-client fails, you may have an outdated cache that can be deleted as
follows:
$ cd start-client
$ rm -rf .cache node_modules
[[run-app]]
=== Running the app locally
As long as you've built the project beforehand (in particular start-client), you can
easily start the app as any other Spring Boot app:
$ cd start-site
$ ../mvnw spring-boot:run
[[run-ide]]
=== Running the app in an IDE
You should be able to import the project into your IDE with no problems. Once there you
can run the StartApplication from its main method and debug it. If you also need to
work on the library, adding the initializr project in your workspace would make sure
to reload the app whenever you make any change.
This is the recommended way to operate while you are developing the application, especially the UI.
== Reusing the Web UI This instance has a thin layer with our opinions about getting started with Spring Boot. You can reuse them but please keep in mind that this is not supported with the same level as the Spring Initializr library. The Web UI, in particular, is for our own purpose and is not particularly engineered to be easily extended.
== Deploying to Cloud Foundry
If you are on a Mac and using https://brew.sh/[homebrew], install the Cloud Foundry CLI:
$ brew install cloudfoundry-cli
Alternatively, download a suitable binary for your platform from https://console.run.pivotal.io/tools[Pivotal Web Services].
You should ensure that the application name and URL (name and host values) are
suitable for your environment before running cf push.
First, make sure that you have <<building, built the application>>, then make sure first that the jar has been created:
$ cd start-site
$ ../mvnw package
The project creates a regular library jar and a repackaged archive that can be used to
start the application with the exec classifier. Once the build as completed, you can
push the application:
$ cf push your-start -p target/start-site-exec.jar
== License The start.spring.io website is Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].