Open database and web application for Near-Edge X-ray Absorption Fine Structure (NEXAFS) spectroscopy.
This repository contains the Next.js app, Prisma schema, and contributor documentation for X-ray Atlas.
src/app- Next.js App Router (browse, contribute, molecules, facilities, API routes)src/server- tRPC routers, authentication, and server-side data accesssrc/components- Shared UI, plots, forms, and layoutprisma- Database schema and migrations
X-ray Atlas is open source and we welcome contributions from the community.
Note
If your change requires database migrations, new secrets, or production infrastructure updates, coordinate with maintainers before merging so deployments stay consistent.
- Fork and clone the repository
- Install Bun and Node.js 24 or newer (see
package.jsonengines) - Install dependencies with
bun install - Follow
CONTRIBUTING.mdfor environment setup, database setup, and local OAuth - Run
bun run checkbefore opening a pull request - Open a pull request with a clear description of the change
We allow AI-assisted development, but contributors must follow the policy in CONTRIBUTING.md, including the required AI Role section in pull requests (3 levels) and the Cursor-first editing workflow.
Cursor is the intended tool for editing/vibe coding in this repo; do not edit maintainer-owned .cursor/ configuration in your PR.
Application code is licensed under the MIT License. Contributed datasets are licensed under CC BY 4.0.
Each dataset has a minted DOI. When using X-ray Atlas data, cite:
Individual dataset:
[Dataset Name] [DOI]. Adapted from [Original Publication]. Hosted by X-Ray Atlas.
Entire collection:
X-Ray Atlas [Collection DOI]. Accessed [Date].
See dataset landing pages for full citation details and examples.