A Next.js-based portfolio website for showcasing interactive 3D scenes using Gaussian Splatting and web viewers.
Demo: Hosted on Vercel
This Gallery website features:
- Grid-based pages displaying 3D scenes
- Interactive viewer for each scene using Splat technology
- Integration with NeonDB for data storage
- S3 storage for 3D assets
- Node.js
- npm, yarn, pnpm, or bun
- NeonDB account
- AWS S3 bucket for asset storage
- Clone the repository
- Install dependencies:
npm install
# or
yarn install
# or
pnpm install
# or
bun install
- Copy environment variables:
cp example.env.local .env.local
- Start the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
- Open http://localhost:3000 with your browser to see the result.
-
Set up environment variables:
- Ensure
DATABASE_URL
is configured in.env.local
- Ensure
-
Generate migration files:
npx drizzle-kit generate
- Run migrations:
npx drizzle-kit migrate
- Insert dummy data:
- Use the SQL script located at
script/insertSplat.sql
- Execute the script against your Postgres database in NeonDB
- Use the SQL script located at
- Primary viewer: antimatter15's Splat Viewer
- Wrapper: drei-vanilla
- Currently configured for S3 URLs
- Viewer supports any public URL (upcoming feature)
Deploy on Vercel (recommended):
- Visit the Vercel Platform
- Follow the deployment steps
For more deployment options, see the Next.js deployment documentation.