Personal portfolio website dengan dashboard admin untuk manage project showcase.
Stack: Next.js 15 + Tailwind CSS + Supabase
Semua error yang mencegah deployment sudah diperbaiki:
- ✅
autoprefixersudah ada di package.json - ✅ TypeScript type errors di
lib/supabase-server.tsfixed - ✅ TypeScript type errors di
middleware.tsfixed - ✅ File structure lengkap dengan folder
lib/
git init
git add .
git commit -m "Initial commit - ready for deployment"
git branch -M main
git remote add origin https://github.com/Dappzzz-Dev/Pamer.co.git
git push -u origin main- Buka vercel.com/new
- Import repository:
Dappzzz-Dev/Pamer.co - Framework: Next.js (auto-detect)
- Environment Variables (WAJIB):
NEXT_PUBLIC_SUPABASE_URL=https://xxxx.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ... AUTH_SECRET=random-string-minimal-32-chars - Klik Deploy
- Buka supabase.com
- Buat project baru
- Copy URL dan Anon Key dari Settings → API
- Buka SQL Editor di Supabase dashboard
- Copy-paste isi
supabase-setup.sql - Execute
- Buka Storage di sidebar
- New Bucket → nama:
project-images - ✅ Centang Public bucket
- Create
- Authentication → Users
- Add user:
- Email:
daffafarash@gmail.com - Password:
daffanara13
- Email:
- PENTING: Ganti password setelah deploy!
| Path | Akses | Fungsi |
|---|---|---|
/ |
Publik | Landing page |
/projects |
Publik | Gallery semua project (filter, search) |
/login |
Publik | Login dashboard |
/dashboard |
Private | Manage projects (CRUD) |
/dashboard/add |
Private | Tambah project baru |
/dashboard/edit/[id] |
Private | Edit project |
# Install dependencies
npm install
# Copy environment variables
cp .env.local.example .env.local
# Edit .env.local dengan Supabase credentials
# Run development server
npm run devSetelah deploy, akses dashboard:
https://pamer-co.vercel.app/login
Login credentials:
- Email:
daffafarash@gmail.com - Password:
daffanara13
Security Note:
- Ganti password di Supabase → Authentication → Users setelah deploy
- Jangan commit
.env.localke Git - Row Level Security (RLS) sudah aktif di database
- Framework: Next.js 15 (App Router)
- Styling: Tailwind CSS (Neo-brutalist design)
- Database: Supabase PostgreSQL
- Storage: Supabase Storage
- Auth: Supabase Auth
- Deployment: Vercel
- Language: TypeScript
- Portfolio landing page dengan stats
- Project gallery dengan filter & search
- Responsive design (mobile-friendly)
- Neo-brutalist UI design
- Add/Edit/Delete projects
- Image upload untuk preview project
- Tech stack management
- Category filtering
- Real-time updates
Pamer.co/
├── app/
│ ├── page.tsx # Landing page
│ ├── projects/page.tsx # Public gallery
│ ├── login/page.tsx # Login page
│ └── dashboard/ # Admin dashboard
│ ├── page.tsx # Project list
│ ├── add/page.tsx # Add project
│ └── edit/[id]/page.tsx # Edit project
├── components/
│ ├── Navbar.tsx
│ ├── Footer.tsx
│ ├── ProjectCard.tsx
│ └── ProjectForm.tsx
├── lib/
│ ├── supabase-client.ts # Browser client
│ ├── supabase-server.ts # Server client
│ └── types.ts # TypeScript types
├── middleware.ts # Route protection
└── supabase-setup.sql # Database schema
Fixed ✅ — autoprefixer sudah ada di package.json
Fixed ✅ — Type annotations sudah ditambahkan di lib/supabase-server.ts dan middleware.ts
- Cek Environment Variables sudah benar
- Pastikan Supabase URL dan key valid
- Check build logs untuk error spesifik
Kalau ada error saat deployment, screenshot build logs dari Vercel dan hubungi developer.
Made with ❤️ using Next.js & Supabase