971a59a99779774956418fa7514a458e18c0f2fa
- copy pnpm-workspace.yaml in docker deps stage - fix pnpm frozen install failure in buildx workflow - keep allowed build scripts available during image build - apply repository formatting updates in store module
This is a Next.js + Tailwind CSS based Axure prototype manager.
Tech Stack
- Next.js (App Router, TypeScript)
- Tailwind CSS (atomic utility classes)
- Node runtime API Routes
- Local filesystem persistence (
data/prototypes) - Package manager: pnpm
Features
- Prototype card navigation homepage
- Upload Axure prototype ZIP package manually
- Auto-parse and register prototype (ZIP must contain
start.html) - Open prototype in new tab
- Dark mode toggle (stored in
localStorage) - Delete uploaded prototype
Directory Structure
app/
api/prototypes/
route.ts # list + upload
[id]/route.ts # delete
[id]/[...path]/route.ts # serve prototype files
layout.tsx
page.tsx
components/
AddPrototypeModal.tsx
PrototypeCard.tsx
ThemeToggle.tsx
lib/
prototype.ts
store.ts
data/
prototypes/
index.json # runtime metadata (auto-generated)
<prototype-id>/... # unzipped Axure files
Start Development
pnpm install
pnpm dev
Open http://localhost:3000.
Build & Run Production
pnpm build
pnpm start
Docker (multi-stage, pnpm)
Build image:
docker build -t prototype-manager:latest .
Run container:
docker run --rm -p 3000:3000 -v prototype-manager-data:/app/data prototype-manager:latest
Notes:
- Image uses Next.js
output: "standalone"andpnpmin multi-stage build. - Runtime data is written to
/app/data/prototypes; mount a volume to persist uploads.
Upload Requirements
- Only
.zipis accepted - ZIP must include
start.html - Keep Axure relative assets (
resources,data,images, etc.) in original structure
Notes on Deployment
This project writes files at runtime (upload/unzip), so it must run in a writable Node environment (self-hosted server/VM/container with persistent volume).
Description
A Next.js-powered self-hosted Axure prototype manager to upload, unpack, and preview interactive prototypes across your LAN.
186 KiB
0 Stars
1 Watchers
0 Forks
Languages
TypeScript
90.5%
Dockerfile
4.4%
JavaScript
1.9%
CSS
1.6%
Shell
1.6%