Solusi percetakan profesional untuk kebutuhan bisnis dan personal Anda. Website company profile modern dengan React + Vite + Tailwind CSS.
- React 19 - UI Library
- Vite - Build Tool & Dev Server
- Tailwind CSS - Utility-First CSS Framework
- React Router - Client-Side Routing
- PostCSS & Autoprefixer - CSS Processing
- β Responsive Design (Mobile-First)
- β Modern & Clean UI
- β 8 Pages (Home, Produk, Layanan, Portofolio, Tentang, Kontak, FAQ, 404)
- β Reusable Components
- β Product Catalog with Filtering
- β Contact Form with Validation
- β FAQ Accordion
- β Portfolio Gallery
- β SEO Friendly
- β Accessible (ARIA Labels)
- Node.js (v16 or higher)
- npm atau yarn
- Clone repository
git clone <repository-url>
cd compro-codot- Install dependencies
npm install- Run development server
npm run dev- Open browser and visit
http://localhost:5173
npm run devMenjalankan development server dengan hot-reload di http://localhost:5173
npm run buildMembuat production build yang dioptimasi di folder dist/
npm run previewPreview production build secara lokal
npm run lintMenjalankan ESLint untuk code quality check
npm run formatFormat kode menggunakan Prettier (jika diinstall)
compro-codot/
βββ public/ # Static assets
βββ src/
β βββ assets/ # Images, fonts, etc
β βββ components/ # Reusable components
β β βββ Navbar.jsx
β β βββ Footer.jsx
β β βββ Hero.jsx
β β βββ ProductCard.jsx
β β βββ ServiceList.jsx
β β βββ GalleryGrid.jsx
β β βββ Testimonial.jsx
β β βββ CTA.jsx
β β βββ ContactForm.jsx
β βββ data/ # Static data (JSON)
β β βββ products.json
β βββ pages/ # Page components
β β βββ Home.jsx
β β βββ Produk.jsx
β β βββ Layanan.jsx
β β βββ Portofolio.jsx
β β βββ Tentang.jsx
β β βββ Kontak.jsx
β β βββ FAQ.jsx
β β βββ NotFound.jsx
β βββ App.jsx # Main app with routing
β βββ main.jsx # Entry point
β βββ index.css # Global styles + Tailwind
β βββ App.css # App-specific styles
βββ .gitignore
βββ eslint.config.js
βββ index.html # HTML template
βββ package.json
βββ postcss.config.js # PostCSS configuration
βββ tailwind.config.js # Tailwind configuration
βββ vite.config.js # Vite configuration
βββ README.md
Edit tailwind.config.js untuk mengubah warna brand:
colors: {
primary: { ... }, // Biru (untuk CTA, links)
accent: { ... }, // Kuning (untuk highlights)
navy: { ... }, // Navy (untuk text & headers)
}Edit src/data/products.json untuk menambah/mengubah produk:
{
"id": 1,
"name": "Nama Produk",
"category": "offset|digital|kalender|brosur|agenda|lainnya",
"description": "Deskripsi produk",
"specs": { ... },
"priceRange": "Rp ...",
"images": []
}Edit kontak di:
src/components/Footer.jsxsrc/pages/Kontak.jsx
- Install Vercel CLI
npm i -g vercel- Deploy
vercel- Follow the prompts
Atau via Vercel Dashboard:
- Push code ke GitHub
- Import repository di vercel.com
- Vercel akan auto-detect Vite dan deploy
- Build project
npm run build- Drag & drop folder
dist/ke Netlify Drop
Atau via Netlify CLI:
npm i -g netlify-cli
netlify deploy --prod- Install gh-pages
npm install -D gh-pages- Add to
package.json:
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d dist"
}- Update
vite.config.js:
export default defineConfig({
base: '/compro-codot/',
plugins: [react()],
})- Deploy
npm run deploy- Update
index.htmlmeta tags (title, description, keywords) - Add Open Graph tags untuk social media
- Tambahkan favicon di
public/ - Generate sitemap.xml
- Setup robots.txt
- Optimize images (compress & use WebP)
- Add alt text ke semua images
- Implement lazy loading untuk images
- Setup Google Analytics (optional)
- Submit sitemap ke Google Search Console
Edit index.html:
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Darma Cipta Media - Solusi offset & digital printing berkualitas tinggi. Melayani cetak kalender, brosur, buku agenda, dan lainnya." />
<meta name="keywords" content="percetakan, offset printing, digital printing, kalender, brosur, jakarta" />
<!-- Open Graph -->
<meta property="og:title" content="Darma Cipta Media - Printing Profesional" />
<meta property="og:description" content="Solusi percetakan berkualitas tinggi untuk bisnis Anda" />
<meta property="og:image" content="/og-image.jpg" />
<meta property="og:url" content="https://darmaciptamedia.com" />
<title>Darma Cipta Media - Offset & Digital Printing</title>
</head>- Semantic HTML elements
- ARIA labels pada interactive elements
- Keyboard navigation support
- Focus indicators
- Alt text pada images
- Sufficient color contrast
- Responsive font sizes
# Ganti port di vite.config.js
export default defineConfig({
server: { port: 3000 },
plugins: [react()],
})# Clear cache dan reinstall
rm -rf node_modules package-lock.json
npm install# Check for syntax errors
npm run lintUntuk pertanyaan atau bantuan:
- Email: info@percetakancodot.com
- WhatsApp: +628567827236
MIT License - feel free to use for your projects!
Built with β€οΈ using React + Vite + Tailwind CSS