Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
School snack ordering with loot pickup. Browse The Loot, build your loadout, grab it between classes.
CommerceTypeScript · HTMLGitHub @lootlocker0OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
This is the recommended macOS setup. It uses Docker for PostgreSQL and maps host port 5433 to the container's port 5432, avoiding conflicts with a PostgreSQL installation already running on port 5432.
Wait for Docker Desktop to start, then verify the Docker daemon:
Next.js loads .env.local. Prisma loads .env through prisma.config.ts. Both files must contain the local database URLs.Read the full README ↗This is the recommended macOS setup. It uses Docker for PostgreSQL and maps host port 5433 to the container's port 5432, avoiding conflicts with a PostgreSQL installation already running on port 5432.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install node
brew install --cask docker
open -a Docker
Wait for Docker Desktop to start, then verify the Docker daemon:
until docker info >/dev/null 2>&1; do
sleep 1
done
git clone https://github.com/lootlocker0/Loot-Locker.git
cd Loot-Locker
Next.js loads .env.local. Prisma loads .env through prisma.config.ts. Both files must contain the local database URLs.
cp .env.example .env.local
cp .env.example .env
sed -i '' \
-e 's|^DATABASE_URL=.*|DATABASE_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
-e 's|^DIRECT_URL=.*|DIRECT_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
.env.local
sed -i '' \
-e 's|^DATABASE_URL=.*|DATABASE_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
-e 's|^DIRECT_URL=.*|DIRECT_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
.env
docker pull postgres:15
docker rm -f lootlockers-postgres 2>/dev/null || true
docker run -d --name lootlockers-postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_DB=lootlockers_dev \
-p 5433:5432 \
postgres:15
until docker exec lootlockers-postgres pg_isready -U postgres -d lootlockers_dev; do
sleep 1
done
docker ps --filter name=lootlockers-postgres
docker exec lootlockers-postgres pg_isready -U postgres -d lootlockers_dev
docker exec lootlockers-postgres psql -U postgres -d lootlockers_dev -c 'SELECT current_database(), current_user;'
npm install
npx prisma migrate deploy
docker exec -i lootlockers-postgres psql -U postgres -d lootlockers_dev < prisma/migrations/manual_constraints.sql
npx prisma db seed
unset DATABASE_URL DIRECT_URL
npm run dev
Open http://localhost:3000.
open -a Docker
until docker info >/dev/null 2>&1; do
sleep 1
done
docker rm -f lootlockers-postgres
Then run the PostgreSQL docker run command from Quick setup again.
docker ps --filter name=lootlockers-postgres
docker exec lootlockers-postgres pg_isready -U postgres -d lootlockers_dev
docker exec lootlockers-postgres psql -U postgres -d lootlockers_dev -c '\dt'
npx prisma migrate deploy
docker exec -i lootlockers-postgres psql -U postgres -d lootlockers_dev < prisma/migrations/manual_constraints.sql
npx prisma db seed
To make it live in the database, rerun the seed in the project:
set -a && source .env.local && set +a && npx prisma db seed
DATABASE_URL or DIRECT_URL is missingpwd
grep -E '^(DATABASE_URL|DIRECT_URL)=' .env.local .env
unset DATABASE_URL DIRECT_URL
npx prisma generate
docker start lootlockers-postgres
docker exec lootlockers-postgres pg_isready -U postgres -d lootlockers_dev
npx prisma migrate deploy
Stop the development server with Ctrl+C, then run:
unset DATABASE_URL DIRECT_URL
rm -rf .next
npm run dev
5433 is already in uselsof -nP -iTCP:5433 -sTCP:LISTEN
Stop the process using that port, or change 5433 consistently in both .env.local and .env, and in the Docker -p option.
3000 is already in uselsof -nP -iTCP:3000 -sTCP:LISTEN
Stop the old Next.js process, then run npm run dev again.
Stop the database:
docker stop lootlockers-postgres
Start the database again:
docker start lootlockers-postgres
Remove the database container and its data:
docker rm -f lootlockers-postgres
These are the commands from the first setup attempt. This trial used Homebrew PostgreSQL on the default host port 5432.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo >> /Users/$USER/.bash_profile
echo 'eval "$(/usr/local/bin/brew shellenv bash)"' >> /Users/$USER/.bash_profile
eval "$(/usr/local/bin/brew shellenv bash)"
brew install node
cd Loot-Locker
npm install
cp .env.example .env.local
brew install postgresql
brew services start postgresql@18
psql -d postgres -c "CREATE DATABASE lootlockers_dev;"
The original psql -c "CREATE DATABASE lootlockers_dev;" command failed because psql tried to connect to a database named after the macOS user. The corrected command specifies the existing postgres database with -d postgres.
For a Homebrew PostgreSQL database, the matching local URLs are:
DATABASE_URL="postgresql://aizarameenhossain@localhost:5432/lootlockers_dev?sslmode=disable"
DIRECT_URL="postgresql://aizarameenhossain@localhost:5432/lootlockers_dev?sslmode=disable"
This is the corrected setup used after Trial #1. Docker Desktop provides PostgreSQL, and host port 5433 maps to the container's port 5432.
brew install --cask docker
open -a Docker
until docker info >/dev/null 2>&1; do
sleep 1
done
cd Loot-Locker
cp .env.example .env.local
cp .env.example .env
sed -i '' \
-e 's|^DATABASE_URL=.*|DATABASE_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
-e 's|^DIRECT_URL=.*|DIRECT_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
.env.local
sed -i '' \
-e 's|^DATABASE_URL=.*|DATABASE_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
-e 's|^DIRECT_URL=.*|DIRECT_URL="postgresql://postgres:postgres@localhost:5433/lootlockers_dev?sslmode=disable"|' \
.env
docker pull postgres:15
docker rm -f lootlockers-postgres 2>/dev/null || true
docker run -d --name lootlockers-postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_DB=lootlockers_dev \
-p 5433:5432 \
postgres:15
until docker exec lootlockers-postgres pg_isready -U postgres -d lootlockers_dev; do
sleep 1
done
npm install
npx prisma migrate deploy
docker exec -i lootlockers-postgres psql -U postgres -d lootlockers_dev < prisma/migrations/manual_constraints.sql
npx prisma db seed
unset DATABASE_URL DIRECT_URL
rm -rf .next
npm run dev