🚨 WARNING: Repository ini sudah TIDAK AKTIF dan tidak dilanjutkan lagi!
Project Grafikarsa telah dipindahkan ke arsitektur monorepo.
📦 Repository Baru: https://github.com/grafikarsa/grafikarsa
Repository polyrepo ini (backend & web terpisah) sudah deprecated dan tidak akan menerima update lagi. Semua development sekarang dilakukan di monorepo baru yang menggabungkan backend, web, dan dokumentasi dalam satu repository.
Jangan gunakan repository ini untuk development baru!
Platform Katalog Portofolio & Social Network untuk Warga SMKN 4 Malang.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: shadcn/ui + Radix UI
- State Management: Zustand + TanStack Query
- Forms: React Hook Form + Zod
- Animation: Framer Motion
- Node.js 18+
- npm or pnpm
- Backend API running (see grafikarsa-backend)
git clone https://github.com/grafikarsa/web.git
cd grafikarsa-webnpm installcp .env.example .env.localEdit .env.local:
NEXT_PUBLIC_API_URL=http://localhost:8080/api/v1
NEXT_PUBLIC_APP_URL=http://localhost:3000npm run dev├── app/ # Next.js App Router
│ ├── (main)/ # Public routes (landing, profiles, portfolios)
│ ├── admin/ # Admin dashboard
│ ├── api/ # API routes (upload proxy)
│ └── layout.tsx # Root layout
├── components/
│ ├── admin/ # Admin-specific components
│ ├── landing/ # Landing page sections
│ ├── layout/ # Layout components (navbar, footer)
│ ├── portfolio/ # Portfolio-related components
│ └── ui/ # shadcn/ui components
├── lib/
│ ├── api/ # API client & functions
│ ├── types/ # TypeScript types
│ └── utils.ts # Utility functions
├── stores/ # Zustand stores
└── public/ # Static assets
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint| Variable | Description | Example |
|---|---|---|
NEXT_PUBLIC_API_URL |
Backend API URL | http://localhost:8080/api/v1 |
NEXT_PUBLIC_APP_URL |
Frontend URL | http://localhost:3000 |
NEXT_PUBLIC_STORAGE_URL |
CDN/Storage URL (optional) | http://localhost:9000/grafikarsa |
- Connect repository to Cloudflare Pages
- Build settings:
- Framework preset:
Next.js - Build command:
npm run build - Build output:
.next
- Framework preset:
- Add environment variables in Cloudflare dashboard
npm i -g vercel
vercel- grafikarsa-backend - Go/Fiber API
Proprietary - All rights reserved.
- Email: rafapradana.com@gmail.com