All Projects → jhipster → generator-jhipster-svelte

jhipster / generator-jhipster-svelte

Licence: Apache-2.0 license
Generate Svelte powered JHipster web applications

Programming Languages

EJS
674 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to generator-jhipster-svelte

svelte-toy
A toy for svelte data stores
Stars: ✭ 73 (+65.91%)
Mutual labels:  svelte, sveltejs, sveltekit
hagura-sveltekit
A minimal markdown blog template built using SvelteKit
Stars: ✭ 51 (+15.91%)
Mutual labels:  svelte, sveltejs, sveltekit
focus-svelte
focus lock for svelte
Stars: ✭ 18 (-59.09%)
Mutual labels:  svelte, sveltejs, sveltekit
sveltekit-blog
Sveltekit blog starter project created with sveltekit, typescript, tailwindcss, postcss, husky, and storybook. The project has the structure set up for the scaleable web application.
Stars: ✭ 100 (+127.27%)
Mutual labels:  svelte, sveltejs, sveltekit
svelte-starter-kit
Svelte with brilliant bells and useful whistles
Stars: ✭ 384 (+772.73%)
Mutual labels:  svelte, sveltejs, sveltekit
programmingtil-svelte
No description or website provided.
Stars: ✭ 59 (+34.09%)
Mutual labels:  svelte, sveltejs, sveltekit
Jhipster Kotlin
Kotlin based JHipster
Stars: ✭ 339 (+670.45%)
Mutual labels:  yeoman-generator, blueprint, jhipster
ModalFileManager
A file manager built using Svelte and Wails. It has hotkeys that are modal just like Vim and NeoVim.
Stars: ✭ 21 (-52.27%)
Mutual labels:  svelte, sveltejs
svelte-color-picker
A color picker component for svelte
Stars: ✭ 96 (+118.18%)
Mutual labels:  svelte, sveltejs
s-date-range-picker
📅 A date range picker built with Svelte
Stars: ✭ 13 (-70.45%)
Mutual labels:  svelte, sveltejs
sdk-for-svelte
Appwrite SDK for Svelte 🧡 ⚠️ Warning - this SDK was designed to support Appwrite 0.9 and is not compatible with the latest Appwrite versions. We are planing to refactor it as part of the SDK Generator for better support and maintenance.
Stars: ✭ 69 (+56.82%)
Mutual labels:  svelte, sveltejs
ctx-core
A composable monorepo web-service/front-end toolkit
Stars: ✭ 25 (-43.18%)
Mutual labels:  svelte, sveltejs
svelte-typewriter
A simple and reusable typewriter effect for your Svelte applications
Stars: ✭ 204 (+363.64%)
Mutual labels:  svelte, sveltejs
svelte-adapter-deno
A SvelteKit adapter for Deno
Stars: ✭ 152 (+245.45%)
Mutual labels:  svelte, sveltekit
svelte-undoable
Memento design pattern in Svelte
Stars: ✭ 39 (-11.36%)
Mutual labels:  svelte, sveltejs
svelte-portal
Svelte component for rendering outside the DOM of parent component
Stars: ✭ 261 (+493.18%)
Mutual labels:  svelte, sveltejs
sveltekit-blog-template
A SvelteKit blog template
Stars: ✭ 79 (+79.55%)
Mutual labels:  svelte, sveltekit
d3-fdg-svelte
d3 Force Directed Graph example (d3-force) implemented in sveltejs. REPL:
Stars: ✭ 31 (-29.55%)
Mutual labels:  svelte, sveltejs
sveltekit-magic
An implementation of passwordless authentication using Magic with SvelteKit.
Stars: ✭ 38 (-13.64%)
Mutual labels:  svelte, sveltekit
aqua-fanpage
⚓ 湊あくあ Fanpage created with Svelte and Sveltestrap.
Stars: ✭ 30 (-31.82%)
Mutual labels:  svelte, sveltejs

Svelte Hipster

NPM version code style: prettier Generated applications build status

Generate cybernetically enhanced JHipster Svelte web applications

Introduction

This is a JHipster blueprint, that intends to use SvelteKit / Svelte as the client side development framework.

What's new

Refer to the changelog to gain more insights into each release details.

Supported flows and integrations

Under active development

Following integrations are supported:

✅ Monolithic, Micro-services architecture applications
✅ Spring WebFlux based reactive applications
✅ Session, JWT, OIDC (Keycloak, Okta, Auth0 out of box integration) authentication types
✅ Dark Mode support
✅ SvelteKit, Vite integration
✅ Tailwind CSS
✅ Prettier, EsLint integration
✅ Cypress integration for end to end tests
✅ Jest and Testing Library integration for unit tests
✅ JHipster application JDL
✅ JHipster entity JDL
✅ JHipster elasticsearch integration
✅ Swagger UI

Following functional flows are covered with end-to-end tests:

✅ Sign in
✅ Sign up
✅ Forgot Password
✅ Home
✅ Account
    ✅ Change Password
    ✅ Settings
    ✅ Sign out
✅ Administration
    ✅ User Management (List, Create, Update, View, Delete)
    ✅ Loggers
    ✅ Docs (Swagger UI)
    ✅ Gateway (micro-services routes)
✅ Entities
    ✅ Entity (List, Create, Update, View, Delete, Search, Pagination)

For more details, you can check out the source code of sample application

Technical Stack

Svelte JS Tailwind CSS Font Awesome Cypress Jest Testing Library Prettier ESLint Vite

Installation

To install the blueprint, run below command:

npm install -g generator-jhipster-svelte

To update the blueprint, run below command:

npm update -g generator-jhipster-svelte

Usage

  • Svelte Hipster blueprint exposes a cli to use the correct version of JHipster. Run the below command to generate new applications (interactive approach):

    shipster
  • Alternatively, you can also use the application JDL to generate new applications (config approach). Refer to JDL application documentation for all supported options.

    Create a new application JDL like below and save it in a file (app.jdl in this example):

    application {
        config {
            baseName SampleBlogApp,
            applicationType monolith,
            authenticationType session,
            packageName tech.jhipster.samples.blog,
            prodDatabaseType postgresql,
            cacheProvider caffeine,
            buildTool maven
        }
        entities *
    }
    
    entity Blog {
        name String required minlength(3)
        handle String required minlength(2)
    }
    
    entity Post {
        title String required
        content TextBlob required
        date Instant required
    }
    
    entity Tag {
        name String required minlength(3)
    }
    
    relationship ManyToOne {
        Blog{user(login)} to User
        Post{blog(name)} to Blog
    }
    
    relationship ManyToMany {
        Post{tag(name)} to Tag{entry}
    }
    
    paginate Tag with pagination
    

    Or, To generate a micro-services architecture application, use JDL like below and save it in a file (app.jdl in this example):

    application {
      config {
    	baseName gateway
    	packageName tech.jhipster.samples.gateway
    	applicationType gateway
    	authenticationType oauth2
    	prodDatabaseType postgresql
    	serviceDiscoveryType eureka
    	testFrameworks [cypress]
    	reactive true
      }
      entities Blog, Post, Tag
    }
    
    application {
      config {
    	baseName blog
    	packageName tech.jhipster.samples.blog
    	applicationType microservice
    	authenticationType oauth2
    	prodDatabaseType mysql
    	serverPort 8081
    	serviceDiscoveryType eureka
      }
      entities Blog, Post, Tag
    }
    
    entity Blog {
      name String required minlength(3)
      handle String required minlength(2)
    }
    
    entity Post {
      title String required
      content TextBlob required
      date Instant required
    }
    
    entity Tag {
      name String required minlength(2)
    }
    
    relationship ManyToOne {
      Blog{user(login)} to User,
      Post{blog(name)} to Blog
    }
    
    relationship ManyToMany {
      Post{tag(name)} to Tag{post}
    }
    
    paginate Post, Tag with pagination
    
    microservice Blog, Post, Tag with blog
    
    deployment {
      deploymentType docker-compose
      appsFolders [gateway, blog]
    }
    

    Refer to JDL entity fields documentation for all supported entity data types and constraints. Refer to JDL relationships documentation for supported relationships and syntax. Refer JHipster micro-services documentation for all supported components.

    Pass import-jdl option along the file path to shipster cli to generate new application:

    shipster import-jdl app.jdl

    To generate Swagger UI, pass --swagger-ui option:

  •   shipster import-jdl app.jdl --swagger-ui
  • If you have already setup JHipster on your workstation, then, run the below command (it overrides to use the global JHipster version). Be cautious to use compatible Svelte Hipster and JHipster versions.

    jhipster --blueprints svelte

JHipster Compatibility Matrix

JHipster Svelte Hipster
6.10.5 0.1 - 0.2.1
7.0.x 0.3 - 0.4
7.1.x 0.5
7.3.x 0.6
7.4.x 0.7 - 0.7.1
7.8.x >= 0.8

Docker development

Svelte Hipster docker images are available at DockerHub

To develop against the latest published release, follow below steps:

  • Pull the Svelte Hipster docker image:
docker pull jhipster/svelte-hipster

In case, you want to try out the latest code (unpublished), then, pull the image with main tag as:

docker pull jhipster/svelte-hipster:main
  • Create a new directory for your application and run the below command to generate the application:
mkdir svelte-app && cd svelte-app

docker run -it --rm -v $PWD:/app jhipster/svelte-hipster
  • You can also run the generated application from within the container. Following examples consider maven as the build tool:

    • To run unit test cases, use the command:
    docker run -it --rm -v $PWD:/app -v ~/.m2:/home/shipster/.m2 --entrypoint ./mvnw jhipster/svelte-hipster clean test
    • To start the application using the default dev profile, use the command:
    docker run -it --rm -v $PWD:/app -v ~/.m2:/home/shipster/.m2 -p 8080:8080 --entrypoint ./mvnw jhipster/svelte-hipster -DskipTests

    Access application with http://localhost:8080/

  • If you would like to access the container file system, you can also attach a bourne shell:

docker run -it --rm -v $PWD:/app -v ~/.m2:/home/shipster/.m2 --entrypoint sh jhipster/svelte-hipster

🛠️ Local Development

Pull requests are encouraged and always welcome.

To setup your development environment, follow below steps:

  1. Link svelte blueprint globally:
cd generator-jhipster-svelte
npm link
  1. Link a development version of JHipster to your blueprint (optional: required only if you want to use a non-released JHipster version, like the main branch or your own custom fork)
cd generator-jhipster
npm link

cd generator-jhipster-svelte
npm link generator-jhipster
  1. Create a new directory for your application and link JHipster and svelte blueprint.
mkdir my-app && cd my-app

npm link generator-jhipster-svelte
npm link generator-jhipster (Optional: Needed only if you are using a non-released JHipster version)

shipster

License

Apache-2.0 © Vishal Mahajan

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].