Skip to content

Instantly share code, notes, and snippets.

@ZeroOne3010
Last active October 31, 2023 08:57
Show Gist options
  • Save ZeroOne3010/2741349a910530eaf38f793f9d8e0a84 to your computer and use it in GitHub Desktop.
Save ZeroOne3010/2741349a910530eaf38f793f9d8e0a84 to your computer and use it in GitHub Desktop.
A list of some Java micro frameworks and their GitHub star and fork counts, as parsed from the GitHub API.
<html>
<head>
<style type="text/css">
body {
padding-left: 24px;
padding-right: 24px;
}
</style>
<link href=" https://cdn.jsdelivr.net/npm/picnic@7.1.0/picnic.min.css " rel="stylesheet" />
</head>
<body>
<h1>Java micro frameworks</h1>
<p>A list of some Java micro frameworks and their GitHub star and fork counts, as parsed from the GitHub API.</p>
<table>
<tr>
<th>Framework</th>
<th>GitHub stars</th>
<th>GitHub forks</th>
<th>Description</th>
<th>Open issues</th>
<th>Created at</th>
<th>Updated at</th>
</tr>
<tbody id="frameworkTable">
</tbody>
</table>
<script type="text/javascript">
function updateTable(contents) {
document.getElementById("frameworkTable").innerHTML = "";
contents.sort((a,b) => b.stars - a.stars).forEach((item) => {
document.getElementById("frameworkTable").innerHTML += "<tr>"
+ "<td><a href='" + item.link + "'>" + item.name + "</a></td>"
+ "<td>" + item.stars + "</td>"
+ "<td>" + item.forks + "</td>"
+ "<td>" + item.description + "</td>"
+ "<td>" + item.issues + "</td>"
+ "<td>" + item.created + "</td>"
+ "<td>" + item.updated + "</td>"
+"</tr>";
});
}
var results = [];
var entries = ["perwendel/spark", "lets-blade/blade", "oblac/jodd", "ninjaframework/ninja", "ratpack/ratpack",
"rapidoid/rapidoid", "jooby-project/jooby", "micronaut-projects/micronaut-core", "pippo-java/pippo",
"tipsy/javalin", "helidon-io/helidon", "dropwizard/dropwizard", "line/armeria", "quarkusio/quarkus"];
entries.forEach(function (entry) {
let request = new XMLHttpRequest();
request.addEventListener("load", () => {
let repo = JSON.parse(request.responseText);
let link = "https://github.com/" + entry;
results.push({
link: link,
name: repo.name,
stars: repo.stargazers_count,
forks: repo.forks,
description: repo.description,
issues: repo.open_issues_count,
created: repo.created_at,
updated: repo.updated_at
});
updateTable(results);
console.log(repo);
});
request.open("GET", "https://api.github.com/repos/" + entry);
request.send();
});
</script>
</body>
</html>
@ZeroOne3010
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment