A public showcase (and eventual multi-tenant platform) for a universal index of immutable things.
Built on Laravel 12, Livewire v3, Alpine.js, and Tailwind CSS.
index.one aims to provide a human‑readable landing page for every immutable Thing—elements, compounds, standards, etc.—and their relationships, at a fixed, semantically meaningful URL.
For detailed fields and indexes, see docs/index-one-model-manifest.md.
| Model | Purpose | Key Relationships |
|---|---|---|
| Thing | Canonical record of an immutable concept | hasMany Property, hasMany outgoing Relation, hasMany incoming Relation |
| Property | Typed key‑value pairs describing a Thing | belongsTo Thing |
| Relation | Edge connecting two Things with semantics & weight | belongsTo from Thing, belongsTo to Thing |
| User | Auth & attribution (Breeze defaults) | hasMany Message |
| Message | Polymorphic comments / audit notes | morphTo author, morphTo subject |
Planned but deferred: Tagging, Revision history, Fine‑grained ACL.
- Provide a dashboard for everything, at a meaningful URL
- Useful core information for each as well as hyperlinks to other commonly used services. A table of contents.
- minimalistic and utilitarian
- inspiration: GUIs from Deus Ex: Mankind Divided and Cyberpunk 2077
- triangles and hexagons
Substances, ingredients, materials, products
- an index of all chemical elements and molecules
- a GPS-aware asset scanner based on QR. Assets are scanned to GPS coordinates, and then to addresses and sub-buildings, rooms, containers. blockchain based tracking?
- deployable as a self-hosted application - name your universe, name your scope. integrate all of your company systems into a single interface
- URL design:
https://index.ayoung.co/element/sodium,https://index.ayoung.co/organization/Dell
- [Ownerly, similar use case](https://www.instagram.com/useownerly?igsh=N2hpZ2VxaTNpZmIw
- PHP 8.3+ with BCMath & PDO extensions
- Node 18+ & PNPM/Yarn
- MySQL 8 / MariaDB 10.6+
- Composer 2.7+
(or simplydocker compose up -dwith Laravel Sail)
git clone https://github.com/your-org/index.one.git
cd index.one
# PHP dependencies
composer install
# JS & CSS
pnpm install && pnpm run dev # or yarn / npm
# Copy env and generate key
cp .env.example .env
php artisan key:generateEdit .env for database credentials:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=index_one
DB_USERNAME=root
DB_PASSWORD=secretOptional: Set an index alias for the php artisan command to simplify usage:
# ~/.bashrc or ~/.zshrc
index () {
php /var/www/index/artisan "$@"
}php artisan migrate
php artisan db:seed --class=RelationTypeSeeder # seeds is_a, part_of, etc.# Start dev server
php artisan serve
# Livewire hot‑reloading
pnpm run dev # Vite
# Run test suite
php artisan test # PHPUnit
# or
pest # if Pest installedVisit http://localhost:8000.
| Milestone | Description |
|---|---|
| Graph Sync | Repository pattern to mirror Eloquent writes to Neo4j |
| Tagging & Facets | Many‑to‑many Tag model; UI filters |
| Revision History | ThingRevision & RelationRevision tables with diff viewer |
| Public API | Read‑only REST & GraphQL endpoints |
| Multi‑Tenant | Tenant‑aware models using Laravel 12 “Pennant” features |
| OAuth 2.0 | Social / enterprise SSO via Laravel Passport |
- Fork the repo & create a branch (
git checkout -b feature/my-awesome-thing) - Commit with semantic‑release style commits
- Push & open a PR describing what and why
- Ensure tests pass (
php artisan test) and add new tests when reasonable
Code released under the MIT License unless noted otherwise.
© 2025 index.one contributors