Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
A trusted P2P crypto marketplace. Trade USDT, community tokens and gas fees with protected trades and on-chain verification.
CommerceTypeScript · JavaScriptGitHub @ItsRayz121OnlineOwner 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.
Pakistan-focused P2P crypto exchange + Global Gas Fee Supply System.
1. Create a new Railway project at railway.app
2. Add services: PostgreSQL and Redis (Railway provides both)
3. Connect your GitHub repo → select the backend/ root directory
4. Railway auto-detects railway.toml and uses it
5. Add all env vars from backend/.env.example in Railway dashboard
6. DATABASE_URL and REDIS_URL are auto-injected by Railway — do not set them manually
7. First deploy runs prisma migrate deploy automatically (see railway.toml)Read the full README ↗Pakistan-focused P2P crypto exchange + Global Gas Fee Supply System.
pakswap/
├── frontend/ → Next.js 14 (Vercel)
├── backend/ → Fastify + Prisma (Railway)
├── docs/ → Full specification documents
│ ├── FULL_SPEC.md
│ ├── GAS_FEE_SPEC.md
│ ├── DB_TRANSACTION_RULES.md
│ └── FRONTEND_STANDARDS.md
├── .gitignore
├── package.json → npm workspaces root
└── README.md
git clone https://github.com/YOUR_USERNAME/pakswap.git
cd pakswap
npm install
cp backend/.env.example backend/.env
# Edit backend/.env with your local DB, Redis, and secret values
cp frontend/.env.local.example frontend/.env.local
# Edit frontend/.env.local — set NEXT_PUBLIC_API_URL
cd backend
npx prisma migrate dev --name init
npx prisma generate
cd ..
# Both services in one terminal:
npm run dev
# Or separately:
npm run dev:backend # http://localhost:3001
npm run dev:frontend # http://localhost:3000
# Backend health check:
curl http://localhost:3001/health
# Frontend: open http://localhost:3000 — shows API connection status
backend/ root directoryrailway.toml and uses itbackend/.env.example in Railway dashboardDATABASE_URL and REDIS_URL are auto-injected by Railway — do not set them manuallyprisma migrate deploy automatically (see railway.toml)# Check backend is live:
curl https://YOUR_BACKEND.up.railway.app/health
frontendNEXT_PUBLIC_API_URL=https://YOUR_BACKEND.up.railway.app
# Verify frontend is live and connected to backend:
# Open https://YOUR_PROJECT.vercel.app — the status page shows API health
| Variable | Where to get it | Required |
|---|---|---|
DATABASE_URL | Auto-injected by Railway PostgreSQL | Yes |
REDIS_URL | Auto-injected by Railway Redis | Yes |
JWT_SECRET | Generate: openssl rand -hex 32 | Yes |
JWT_REFRESH_SECRET | Generate: openssl rand -hex 32 | Yes |
CSRF_SECRET | Generate: openssl rand -hex 32 | Yes |
CNIC_HASH_SECRET | Generate: openssl rand -hex 32 | Server won't start without this |
AWS_ACCESS_KEY_ID | AWS IAM console | Yes |
AWS_SECRET_ACCESS_KEY | AWS IAM console | Yes |
AWS_S3_BUCKET | Create an S3 bucket | Yes |
AWS_REGION | e.g. ap-south-1 | Yes |
ADMIN_ALERT_EMAIL | Your ops email | Yes |
See backend/.env.example for full list | — | — |
| Variable | Value | Required |
|---|---|---|
NEXT_PUBLIC_API_URL | Your Railway backend URL | Yes |
See frontend/.env.local.example for full list | — | — |
All product and technical specifications are in /docs:
After first deploy:
-- After running prisma migrate, promote your account to super_admin:
UPDATE "User" SET role = 'super_admin' WHERE email = '[email protected]';
Or via Prisma Studio: cd backend && npx prisma studio
This platform must be operated by a registered business entity (SMC-Pvt Ltd or Pvt Ltd) in Pakistan.
Do not accept live funds without completing the legal checklist in docs/FULL_SPEC.md Section 26.