Skip to content

Commit 2b0d5c0

Browse files
committed
chore: more readme updates
Signed-off-by: Sam Gammon <[email protected]>
1 parent d82279d commit 2b0d5c0

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

README.md

+80
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,83 @@
1616
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/javamodules/javamodules.dev/badge)](https://securityscorecards.dev/viewer/?uri=github.com/javamodules/javamodules.dev)
1717

1818
This repository provides the web code for the [`javamodules.dev`](https://javamodules.dev) website and app. More coming soon.
19+
20+
## About the App
21+
22+
The Java Modules site is a web-based application which performs the following functions:
23+
24+
- [ ] Basic UI and components
25+
- [ ] Allows browsing the artifacts provided by the [JPMS Attic](https://jpms.pkg.st) repository
26+
- [ ] Allows browsing Maven artifacts with enhanced metadata indicators
27+
- [ ] Bytecode target for an artifact (minimum and maximum, as applicable)
28+
- [ ] MRJAR functionality, as applicable
29+
- [ ] Automatic module detection
30+
- [ ] Pure module detection
31+
- [ ] Minimum version for automatic module use
32+
- [ ] Minimum version for pure module use
33+
- [ ] Dependency security indicators
34+
- [ ] GPG signatures
35+
- [ ] Fingerprints (MD5, SHA1, SHA256, SHA512)
36+
- [ ] SLSA provenance
37+
- [ ] SBOMs
38+
- [ ] Sigstore signing
39+
- [ ] OVD/OWASP cross-check
40+
- [ ] Last update
41+
- [ ] Last commit
42+
- [ ] Indexed module contents
43+
- [ ] Module identity and top-level `open` state
44+
- [ ] Exported and opened packages
45+
- [ ] Service Loader usages and provides
46+
- [ ] Reach goals
47+
- [ ] Extended project health metrics
48+
- [ ] Builder: Maven Dependencies
49+
- [ ] Builder: Version Catalog
50+
- [ ] Builder: Gradle Platform
51+
52+
## Architecture
53+
54+
The [site](https://javamodules.dev) is structured as a [Remix][0] app on [Cloudflare Pages][1]. APIs are defined via [Buf][2] and interact with [Buf Connect][21]. On the backend: structured data is stored in [D1][3], unstructured data in [R2][4], and usage analytics in [Analytics Engine][5]. Search is done via [Algolia][17].
55+
56+
On the tooling side: [TypeScript][6], [PNPM][7], [Bun][9], and [Wrangler][8]. [Vite][10] and [esbuild][11] do the actual building (with [PostCSS][13]), all wrapped in [Turbo][12].
57+
58+
As for UI: [Tailwind][14], [React][15], and [shadcn][16]. Frontend testing happens with [Jest][18], [Storybook][19], and [Chromatic][20].
59+
60+
Backend logic is composed of internal services which run on [Workers][22]. Services either communicate as [bound services][23] or via [queues][24].
61+
62+
### Data Sources
63+
64+
This app makes extensive use of open APIs and data sources to materialize the underlying data. These include:
65+
66+
- **[`deps.dev`](https://deps.dev)** The Deps.dev API is used to query information about dependencies, their dependents, and to obtain provenance data.
67+
68+
- **[GitHub API](https://docs.github.com/en/rest)** The GitHub API and accompanying BigQuery dataset are consulted to fetch commit and information and to query for `module-info.java` files.
69+
70+
## Workers
71+
72+
Coming soon.
73+
74+
[0]: https://remix.run
75+
[1]: https://pages.cloudflare.com/
76+
[2]: https://buf.build
77+
[3]: https://developers.cloudflare.com/d1/
78+
[4]: https://developers.cloudflare.com/r2/
79+
[5]: https://developers.cloudflare.com/analytics/analytics-engine/
80+
[6]: https://www.typescriptlang.org/
81+
[7]: https://pnpm.io/
82+
[8]: https://developers.cloudflare.com/workers/wrangler/
83+
[9]: https://bun.sh/
84+
[10]: https://vitejs.dev/
85+
[11]: https://esbuild.github.io/
86+
[12]: https://postcss.org/
87+
[13]: https://turbo.build/repo
88+
[14]: https://tailwindcss.com/
89+
[15]: https://react.dev/
90+
[16]: https://ui.shadcn.com/
91+
[17]: https://algolia.com
92+
[18]: https://jestjs.io/
93+
[19]: https://storybook.js.org/
94+
[20]: https://chromatic.com/
95+
[21]: https://connectrpc.com/
96+
[22]: https://workers.cloudflare.com/
97+
[23]: https://developers.cloudflare.com/workers/configuration/bindings/about-service-bindings/
98+
[24]: https://developers.cloudflare.com/queues/get-started/

0 commit comments

Comments
 (0)