Everything you need to build a Svelte project, powered by create-svelte.
- Bun or Node.js
- PocketBase (included)
# Install dependencies
bun install
# Copy environment variables
cp .env.example .envThis project uses PocketBase as the backend database with the following collections:
- artists - Artist profiles with name, about, color, and avatar
- models - 3D models with files, thumbnails, and transform properties
- items - Scene items with model references and detailed properties
- spaces - User spaces with environment settings and item collections
# Start PocketBase server (runs on http://127.0.0.1:8090)
bun run pocketbase
# or
bun run pb- Start the PocketBase server:
bun run pb - Visit http://127.0.0.1:8090/_/
- Create an admin account when prompted
- The database collections will be automatically created from the migrations in
pb_migrations/
Access the admin dashboard at: http://127.0.0.1:8090/_/
From here you can:
- View and edit collections
- Manage records
- Configure API rules
- View logs
- Import/export data
The PocketBase API is available at: http://127.0.0.1:8090/api/
Collections endpoints:
GET/POST /api/collections/artists/recordsGET/POST /api/collections/models/recordsGET/POST /api/collections/items/recordsGET/POST /api/collections/spaces/records
Once you've set up PocketBase and installed dependencies, start the development server:
bun run dev
# or start the server and open the app in a new browser tab
bun run dev -- --openMake sure PocketBase is running in a separate terminal:
bun run pbTo create a production version of your app:
bun run buildYou can preview the production build with bun run preview.
To deploy your app, you may need to install an adapter for your target environment.
makspa/
├── pb_migrations/ # PocketBase database migrations
├── scripts/ # Utility scripts
├── src/
│ ├── components/ # Svelte components
│ ├── database/ # Database API and utilities
│ ├── routes/ # SvelteKit routes
│ ├── stores/ # Svelte stores
│ └── types/ # TypeScript type definitions
└── static/ # Static assets