JHipster
JavaParser
Our great sponsors
JHipster | JavaParser | |
---|---|---|
63 | 6 | |
21,182 | 5,172 | |
0.3% | 1.7% | |
10.0 | 9.5 | |
about 13 hours ago | 2 days ago | |
Java | Java | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
JHipster
-
Java Microservices with Spring Boot and Spring Cloud
An easy way to get a pre-configured Keycloak instance is to use JHipster's jhipster-sample-app-oauth2 application. It gets updated with every JHipster release. You can clone it with the following command:
-
Deploy Secure Spring Boot Microservices on Amazon EKS Using Terraform and Kubernetes
provider "auth0" { domain = "https://" debug = false } # Create a new Auth0 application for the JHipster app resource "auth0_client" "java_ms_client" { name = "JavaMicroservices" description = "Java Microservices Client Created Through Terraform" app_type = "regular_web" callbacks = ["http://localhost:8080/login/oauth2/code/oidc"] allowed_logout_urls = ["http://localhost:8080"] oidc_conformant = true jwt_configuration { alg = "RS256" } } # Configuring client_secret_post as an authentication method. resource "auth0_client_credentials" "java_ms_client_creds" { client_id = auth0_client.java_ms_client.id authentication_method = "client_secret_post" } # Create roles for the JHipster app resource "auth0_role" "admin" { name = "ROLE_ADMIN" description = "Administrator" } resource "auth0_role" "user" { name = "ROLE_USER" description = "User" } # Create an action to customize the authentication flow to add the roles and the username to the access token claims expected by JHipster applications. resource "auth0_action" "jhipster_action" { name = "jhipster_roles_claim" runtime = "node18" deploy = true code = <<-EOT /** * Handler that will be called during the execution of a PostLogin flow. * * @param {Event} event - Details about the user and the context in which they are logging in. * @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login. */ exports.onExecutePostLogin = async (event, api) => { const namespace = 'https://www.jhipster.tech'; if (event.authorization) { api.idToken.setCustomClaim(namespace + '/roles', event.authorization.roles); api.accessToken.setCustomClaim(namespace + '/roles', event.authorization.roles); } }; EOT supported_triggers { id = "post-login" version = "v3" } } # Attach the action to the login flow resource "auth0_trigger_actions" "login_flow" { trigger = "post-login" actions { id = auth0_action.jhipster_action.id display_name = auth0_action.jhipster_action.name } } # Create a test user. You can create more users here if needed resource "auth0_user" "test_user" { connection_name = "Username-Password-Authentication" name = "Jane Doe" email = "[email protected]" email_verified = true password = "passpass$12$12" # Don't set passwords like this in production! Use env variables instead. lifecycle { ignore_changes = [roles] } } resource "auth0_user_roles" "test_user_roles" { user_id = auth0_user.test_user.id roles = [auth0_role.admin.id, auth0_role.user.id] } output "auth0_webapp_client_id" { description = "Auth0 JavaMicroservices Client ID" value = auth0_client.java_ms_client.client_id } output "auth0_webapp_client_secret" { description = "Auth0 JavaMicroservices Client Secret" value = auth0_client_credentials.java_ms_client_creds.client_secret sensitive = true }
-
Simpler way to develop CRUD apps?
If you want a Spring backend with an Angular Frontend check out https://www.jhipster.tech. This is very nice for CRUD stuff.
-
DevOps For Developers: Continuous Integration, GitHub Actions & Sonar Cloud
To test GitHub Actions, we need a new project which in this case I generated using JHipster with the configuration seen here:
- Looking for professional code bases / boilerplates to check out and learn best practices
-
Micro Frontends for Java Microservices
exports.onExecutePostLogin = async (event, api) => { const namespace = 'https://www.jhipster.tech'; if (event.authorization) { api.idToken.setCustomClaim('preferred_username', event.user.email); api.idToken.setCustomClaim(`${namespace}/roles`, event.authorization.roles); api.accessToken.setCustomClaim(`${namespace}/roles`, event.authorization.roles); } }
-
Are there any recommended libraries to make Spring Boot development even faster / easier?
What you maybe asking for is something like vaadin or jhipster which marries the front with the backend. (I don't like them tbh but it worth mentioning)
-
Looking for a ready-to-extend-and-deploy OpenID + Spring REST solution.
You can try this stack https://www.jhipster.tech with generator for mobile app https://github.com/jhipster/generator-jhipster-ionic.
-
Looking for a nice admin interface for Spring applications similar to Django Admin
I know about https://www.jhipster.tech/ and https://github.com/api-platform/admin but they are all a little bit different.
-
Is there any CRUD admin interface for Spring Boot?
https://www.jhipster.tech/ is the closest solution I have found. But generally it is not much practical since it generates the code, and then you need to organize your coding around that with conventions.
JavaParser
-
Things I didn't know about Java: Generic Constructors
As I have never seen generic constructors before I wanted to know how "real-world" code uses them. So I wrote a program that parses the Java files in the JDK source code. It uses the JavaParser open-source library. Since its README file mentions Java 15, I ran the program on tag jdk-15+36 of the JDK source code.
-
Static Analysis at GitHub
GitHub released a pretty good java parser that I think is is related to this work https://github.com/javaparser/javaparser
I'm also using that parser using for a side project where developers can cross link their source code and host them statically: https://github.com/josephmate/OdinCodeBrowser#readme
-
An open-source Java application to Test
JavaParser
-
Automatically unlocking concurrent builds and fine-grained caching for Java with dependency inference
So after taking a deeper look into the docs I've seen that analysis is done via https://github.com/javaparser/javaparser/ lib which has currently only support up to JDK14 (not JDK15, JDK16 nor JDK17...maybe JDK18)...Unfortunately I have not found a full working example for a Java build ...can you give a link?
-
Bulk Refactoring of Java Code
Depending on the type of refactorings needed, you may be able to use something like Java parser to read the code, refractor it, and write it out again.
What are some alternatives?
Lombok - Very spicy additions to the Java programming language.
jhipster-lite - JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservices architecture, step by step - using Hexagonal Architecture :gem:
Quarkus - Quarkus: Supersonic Subatomic Java.
Spoon - Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.
CircleMenu for Android - :octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Android UI library made by @Ramotion
AspectJ
initializr - A quickstart generator for Spring projects
spring-boot-graphql-querydsl-demo - Extended Spring Boot GraphQL QueryDSL demo project
rewrite - Automated mass refactoring of source code.
Spring Loaded - Java agent that enables class reloading in a running JVM
Motor Admin - Deploy a no-code admin panel for your application in less than a minute. Stop wasting time on custom internal tools and focus on the actual product. Motor Admin allows to launch a custom admin panel for any application.