Website company profile modern untuk PT. Inovasi Digital Nusantara, perusahaan konsultan teknologi terdepan di Indonesia.
- Frontend Framework: Vue 3 + TypeScript
- Build Tool: Vite
- State Management: Pinia
- Routing: Vue Router 4
- Styling: CSS3 (Custom styling)
- Backend: Supabase (PostgreSQL + Auth)
- Icons: Heroicons
- Deployment: Vercel/Netlify Ready
- β Home Page - Hero section dengan CTA dan logo partner
- β Tentang Kami - Visi, misi, dan profil perusahaan
- β Produk & Layanan - Katalog layanan (data dari Supabase)
- β FAQ - Frequently Asked Questions (data dari Supabase)
- β Kontak - Form kontak dan informasi perusahaan
- β Responsive Design - Optimized untuk desktop dan mobile
- β Login Admin - Authentication dengan Supabase Auth
- β Dashboard - Overview statistik dan aktivitas
- β CRUD Produk/Layanan - Manajemen katalog layanan
- β CRUD FAQ - Manajemen pertanyaan dan jawaban
- β CRUD Testimoni - Manajemen testimoni klien
- Node.js 18+
- npm atau yarn
- Akun Supabase (untuk backend)
git clone <repository-url>
cd pt-inovasi-digitalnpm installBuat file .env berdasarkan .env.example:
cp .env.example .envEdit file .env dan isi dengan kredensial Supabase Anda:
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key- Login ke Supabase Dashboard
- Buat project baru atau gunakan yang sudah ada
- Jalankan SQL script dari file
database-schema.sqldi SQL Editor - Enable Row Level Security (RLS) untuk semua tabel
- Setup authentication policies sesuai kebutuhan
npm run devWebsite akan berjalan di http://localhost:5173
pt-inovasi-digital/
βββ public/ # Static assets
βββ src/
β βββ assets/ # Images, logos, icons
β β βββ images/ # Generated logos dan gambar
β βββ components/ # Vue components
β β βββ Navbar.vue # Navigation component
β β βββ Footer.vue # Footer component
β β βββ Layout.vue # Main layout wrapper
β βββ pages/ # Page components
β β βββ Home.vue # Homepage
β β βββ About.vue # Tentang Kami
β β βββ Services.vue # Produk & Layanan
β β βββ FAQ.vue # FAQ page
β β βββ Contact.vue # Kontak page
β β βββ NotFound.vue # 404 page
β β βββ admin/ # Admin pages
β β βββ Login.vue # Admin login
β β βββ Dashboard.vue # Admin dashboard
β β βββ Products.vue # CRUD Produk
β β βββ FAQ.vue # CRUD FAQ
β β βββ Testimonials.vue # CRUD Testimoni
β βββ router/ # Vue Router configuration
β β βββ index.ts # Routes definition
β βββ store/ # Pinia stores
β β βββ index.ts # State management
β βββ utils/ # Utility functions
β β βββ supabaseClient.ts # Supabase configuration
β βββ data/ # Static data
β β βββ company-content.ts # Company information
β βββ App.vue # Root component
β βββ main.ts # App entry point
β βββ style.css # Global styles
βββ database-schema.sql # Database schema
βββ .env.example # Environment variables template
βββ package.json # Dependencies
βββ vite.config.ts # Vite configuration
βββ README.md # Documentation
- produk - Katalog produk dan layanan
- faq - Frequently Asked Questions
- testimoni - Testimoni klien
- users - User authentication (Supabase Auth)
Detail schema tersedia di file database-schema.sql.
- Primary: Blue (#2563eb)
- Secondary: Gray (#475569)
- Accent: Orange (#f59e0b)
- Background: White (#ffffff)
- Text: Dark Gray (#1f2937)
- Font Family: Inter, system-ui, sans-serif
- Headings: Bold, various sizes
- Body: Regular, 16px base
- Buttons: Primary, Secondary, Outline variants
- Cards: Shadow, rounded corners
- Forms: Consistent input styling
- Navigation: Responsive navbar with mobile menu
- Push code ke GitHub repository
- Connect repository di Vercel dashboard
- Set environment variables di Vercel:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
- Deploy automatically
- Build project:
npm run build - Upload
distfolder ke Netlify - Set environment variables di Netlify dashboard
- Configure redirects untuk SPA routing
# Build for production
npm run build
# Preview build locally
npm run preview
# Deploy dist folder to your hosting providerFile vite.config.ts sudah dikonfigurasi dengan:
- Path aliases (
@untuksrc/) - Vue plugin
- TypeScript support
- Hash mode untuk compatibility
- Route guards untuk admin pages
- Lazy loading untuk optimal performance
Pinia stores untuk:
- Authentication state
- Products management
- FAQ management
- Testimonials management
- Supabase Auth untuk admin login
- Route guards untuk protected pages
- Session management
- Environment variables untuk sensitive data
- Row Level Security di Supabase
- Input validation dan sanitization
Untuk pertanyaan teknis atau support:
- Email: [email protected]
- Phone: +62 21 1234 5678
- Address: Jl. Sudirman No. 123, Jakarta Pusat
Β© 2024 Potydev. All rights reserved.
Developed with β€οΈ by PT. Inovasi Digital Nusantara Development Team