Thanks to visit codestin.com
Credit goes to github.com

Skip to content

potydev/CompanyProfile-pt-inovasi-nusantara

Repository files navigation

PT. Inovasi Digital Nusantara - Company Profile Website

Website company profile modern untuk PT. Inovasi Digital Nusantara, perusahaan konsultan teknologi terdepan di Indonesia.

πŸš€ Tech Stack

  • 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

πŸ“‹ Fitur

Fitur Publik

  • βœ… 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

Fitur Admin

  • βœ… 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

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js 18+
  • npm atau yarn
  • Akun Supabase (untuk backend)

1. Clone Repository

git clone <repository-url>
cd pt-inovasi-digital

2. Install Dependencies

npm install

3. Environment Setup

Buat file .env berdasarkan .env.example:

cp .env.example .env

Edit file .env dan isi dengan kredensial Supabase Anda:

VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key

4. Database Setup

  1. Login ke Supabase Dashboard
  2. Buat project baru atau gunakan yang sudah ada
  3. Jalankan SQL script dari file database-schema.sql di SQL Editor
  4. Enable Row Level Security (RLS) untuk semua tabel
  5. Setup authentication policies sesuai kebutuhan

5. Development Server

npm run dev

Website akan berjalan di http://localhost:5173

πŸ“ Struktur Project

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

πŸ—„οΈ Database Schema

Tables

  • 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.

🎨 Design System

Color Palette

  • Primary: Blue (#2563eb)
  • Secondary: Gray (#475569)
  • Accent: Orange (#f59e0b)
  • Background: White (#ffffff)
  • Text: Dark Gray (#1f2937)

Typography

  • Font Family: Inter, system-ui, sans-serif
  • Headings: Bold, various sizes
  • Body: Regular, 16px base

Components

  • Buttons: Primary, Secondary, Outline variants
  • Cards: Shadow, rounded corners
  • Forms: Consistent input styling
  • Navigation: Responsive navbar with mobile menu

πŸš€ Deployment

Vercel Deployment

  1. Push code ke GitHub repository
  2. Connect repository di Vercel dashboard
  3. Set environment variables di Vercel:
    • VITE_SUPABASE_URL
    • VITE_SUPABASE_ANON_KEY
  4. Deploy automatically

Netlify Deployment

  1. Build project: npm run build
  2. Upload dist folder ke Netlify
  3. Set environment variables di Netlify dashboard
  4. Configure redirects untuk SPA routing

Manual Deployment

# Build for production
npm run build

# Preview build locally
npm run preview

# Deploy dist folder to your hosting provider

πŸ”§ Configuration

Vite Configuration

File vite.config.ts sudah dikonfigurasi dengan:

  • Path aliases (@ untuk src/)
  • Vue plugin
  • TypeScript support

Router Configuration

  • Hash mode untuk compatibility
  • Route guards untuk admin pages
  • Lazy loading untuk optimal performance

State Management

Pinia stores untuk:

  • Authentication state
  • Products management
  • FAQ management
  • Testimonials management

πŸ” Security

Authentication

  • Supabase Auth untuk admin login
  • Route guards untuk protected pages
  • Session management

Data Protection

  • Environment variables untuk sensitive data
  • Row Level Security di Supabase
  • Input validation dan sanitization

πŸ“ž Support & Contact

Untuk pertanyaan teknis atau support:

  • Email: [email protected]
  • Phone: +62 21 1234 5678
  • Address: Jl. Sudirman No. 123, Jakarta Pusat

πŸ“„ License

Β© 2024 Potydev. All rights reserved.


Developed with ❀️ by PT. Inovasi Digital Nusantara Development Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published