Skip to content

changshenhan/YONDER

Repository files navigation

YONDER

On-chain collectible manuscripts — encrypt, anchor, transfer.

Live Next.js TypeScript React Wagmi Viem Base Sepolia

Production

https://www.yonderaura.art/


YONDER — editorial hero, impressionist bridge

Landing hero art direction: fine-art auction–house aesthetic, full-bleed photography.


Features · Stack · Screenshots · Deploy & env · Local dev


Overview

YONDER is a Next.js 14 web application for a discreet digital-asset protocol on Base Sepolia: users encrypt manuscript-class files locally, upload ciphertext and public manifests, mint ERC-721 “Aura” tokens, and browse holdings by tokenId with optional secondary-market flows. The UI follows an editorial, institution-grade visual language (auction-house–inspired layout, serif/display typography, restrained palette).

The production deployment is live at yonderaura.art (Vercel or equivalent).

中文简述: YONDER 是 Base Sepolia 上的链上数字藏品前端:本地加密文稿、IPFS/自建存储上传、铸造 Aura NFT、按编号归档阅览与叙事页展示,界面采用拍卖行式浅色编辑排版。线上站点: yonderaura.art


Features

Area Description
Forge (/atelier) Drag-and-drop publishing pipeline: AES-256-GCM encryption in-browser, multi-part upload API, public manifest generation, optional low-res preview, mintAura when a contract is configured.
Archive (/archive) Query getAura by token id, grid of aura cards, per-token detail with public reading panel and marketplace panel (list / Dutch auction / buy) where applicable.
Lore (/narrative) Brand narrative copy (i18n).
i18n Chinese / English via LocaleProvider and message dictionaries.
Wallet ConnectKit + Wagmi + Viem on Base Sepolia.

Tech Stack

Layer Choices
Framework Next.js 14 (App Router), React 18
Styling Tailwind CSS, custom design tokens (paper, surface, line, ink, …)
Web3 wagmi v2, viem v2, ConnectKit
Data @tanstack/react-query
Documents mammoth, pdf.js–based extraction (see src/lib/media/)
Smart contracts Solidity (contracts/YonderAura.sol), Foundry config under contracts/

Interface Gallery

Hero direction — impressionist bridge (wide editorial photography).

Bridge hero


Jewelry salon perspective
Alternate hero — jewelry vitrine row
Porcelain floral sculpture
Atelier strip — monumental floral installation
Library study
Archive — scholar’s library (collection metaphor)
Bridge lore
Narrative — bridge & pond (lore strip)
Jewel ring
Home card — forge (jewelry)
Porcelain vase
Home card — archive (museum vase)

Deployment & environment variables

Production is served at https://www.yonderaura.art/. Configure the same variables in your host (e.g. Vercel → Project → Settings → Environment Variables) for Production (and Preview if you use branch deploys). Never commit .env or .env*.local.

Copy locally from the template when developing:

cp .env.example .env.local
Variable Role
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID WalletConnect / ConnectKit
NEXT_PUBLIC_YONDER_CONTRACT_ADDRESS Deployed Aura contract (Base Sepolia)
NEXT_PUBLIC_YONDER_STORAGE_PUBLIC_BASE Public gateway base for manifest & assets
NEXT_PUBLIC_APP_URL Canonical site URL — use https://www.yonderaura.art for production (wallet metadata / ConnectKit)
YONDER_STORAGE_UPLOAD_URL / YONDER_STORAGE_API_KEY Server-side upload target (or Pinata JWT if used)

See .env.example for full comments. Secrets belong only in local .env.local or the host’s encrypted environment settings.

After changing variables on the host, redeploy so NEXT_PUBLIC_* values are baked into the build.


Local development

For contributors who run the app on a machine:

Prerequisites

  • Node.js 18+ (20 LTS recommended)
  • npm (or pnpm/yarn with equivalent commands)
  • A WalletConnect Project ID (Cloud WalletConnect)

Install & run

git clone https://github.com/changshenhan/YONDER.git
cd YONDER
npm install
npm run dev

Then open the dev server URL shown in the terminal (default port 3000). Use .env.local for local overrides; point NEXT_PUBLIC_APP_URL at http://127.0.0.1:3000 (or your tunnel URL) when testing wallets locally.

Production build (smoke test)

npm run build
npm start

Scripts

Command Description
npm run dev Next.js development server
npm run build Production build
npm start Serve production build locally
npm run lint ESLint

Repository layout (abbrev.)

contracts/          # YonderAura.sol + Foundry
public/images/      # Editorial imagery (hero, cards, inner-page strips)
public/legal/       # Bundled secondary-market legal text
src/app/            # App Router pages & API routes
src/components/     # UI (archive, atelier, layout, legal)
src/i18n/           # Locales
src/lib/            # Contracts, crypto, media, storage helpers

Security & privacy

  • .env.local, .env, API keys, and JWTs are gitignored (see .gitignore).
  • Client-bundled NEXT_PUBLIC_* variables are public by definition — do not put secrets behind that prefix.
  • Legal acknowledgements for trading flows are bundled under public/legal/ and referenced in-app.

License

This project is marked private in package.json. All rights reserved unless otherwise stated by the author. Add an explicit LICENSE file if you open-source the codebase later.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors