# Download from pocketbase.io
# Extract the downloaded file
cd path/to/pocketbase
# Make it executable (macOS/Linux)
chmod +x ./pocketbase
# Run PocketBase
./pocketbase servePocketBase will be running at http://localhost:8090
docker run -d -p 8090:8090 --name pocketbase \
-v pocketbase_data:/pb_data \
ghcr.io/pocketbase/pocketbase:latest- Open PocketBase Admin:
http://localhost:8090/admin - Go to Collections
- Click Import collections
- Upload the
catering_pb_collections.jsonfile from the project
- In PocketBase Admin, go to Collections → users
- Click New record
- Enter:
- Email:
test@example.com - Password:
password123 - Verify/check any required fields
- Email:
- Save the record
- Create
.env.localfile in the project root - Add your PocketBase URL:
NEXT_PUBLIC_POCKETBASE_URL=http://localhost:8090Or copy from the example:
cp .env.example .env.localThen edit .env.local if needed for your setup.
# Install dependencies
npm install
# or
pnpm install
# Run development server
npm run dev
# or
pnpm devThe app will be running at http://localhost:3000
- Open http://localhost:3000
- You'll be directed to the login page
- Enter your test credentials:
- Email:
test@example.com - Password:
password123
- Email:
- Click "Sign In"
- You should now see the Dashboard! 🎉
To see the dashboard with data, use the PocketBase Admin panel:
- Go to
http://localhost:8090/admin→ Collections → customers - Click "New record"
- Fill in:
- Name: Your Cafe
- Phone: +62812345678
- Email: cafe@example.com
- Type: company
- Save
- Go to Collections → orders
- Click "New record"
- Fill in:
- order_number: ORD-001
- customer: (select the customer you created)
- status: draft
- subtotal: 500000
- total: 500000
- Save
You'll see this data in the app immediately!
- Go to
/menuspage - ready to add menu management - Go to
/customerspage - already has customer listing - Go to
/orderspage - shows your orders from the dashboard
- Edit colors in components (search for
orange-500) - Change the app name in
Sidebar.tsxandLogin.tsx - Modify the dashboard layout in
app/dashboard/page.tsx
- Use PocketBase Admin UI to create records
- The app will fetch them automatically
- Try adding customers and orders to see the dashboard populate
Add this to any component:
console.log("[v0] Debug message:", variable)- Open DevTools (F12)
- Go to Network tab
- Look for requests to your PocketBase server
- "PocketBase not initialized": Enter the correct URL on login
- "Login failed": Check user exists in PocketBase and credentials are correct
- Empty dashboard: Create sample orders (see above)
- Main app: http://localhost:3000
- PocketBase Admin: http://localhost:8090/admin
Replace localhost with your computer's IP address:
- Find IP:
ipconfig getifaddr en0(macOS) orhostname -I(Linux) - Example:
http://192.168.1.100:3000
- PocketBase Docs
- Next.js Docs
- Tailwind CSS
- See
SETUP.mdfor detailed setup instructions - See
IMPLEMENTATION.mdfor technical details
- PocketBase downloaded and running
- Collections imported from JSON
- Test user created in PocketBase
- App dependencies installed (
npm install) - Dev server running (
npm run dev) - Can login with test credentials
- Dashboard loads without errors
- Can see sidebar navigation
- Can access different pages (Customers, Orders, etc.)
You're all set! Happy catering! 🍽️