Jasa pembuatan website profesional dengan teknologi terkini dan kualitas terbaik
- Tentang Proyek
- Fitur Utama
- Tech Stack
- Instalasi
- Struktur Folder
- Routes & Pages
- Komponen Utama
- Data Portfolio
- Development
- Build & Deploy
- Contact & Support
JokiWeb.pro adalah website portofolio dan landing page profesional untuk layanan jasa pembuatan website. Website ini menampilkan:
- β¨ Portofolio lengkap dengan 7 project showcase
- π― Layanan yang ditawarkan (UI/UX, Backend, API, Hosting & Deploy)
- π° Paket pricing yang fleksibel (Student Starter, Professional, Enterprise)
- β Testimonial dari klien-klien puas
- π§ Tech stack showcase dengan skill icons
- π± Fully responsive design (mobile, tablet, desktop)
- π Dark/Light mode toggle
- π Routing system dengan React Router untuk navigasi smooth
- Hero Section dengan CTA buttons dan statistik project
- Services Section menampilkan 4 layanan utama
- Portfolio Section showcase 4 project terbaik
- Tech Stack dengan skill icons dari skillicons.dev
- Pricing dengan 3 paket berbeda
- Testimonials dari klien-klien puas
- Call-to-Action section dengan WhatsApp integration
- Portfolio List (
/portfolio-all) - Tampilkan semua 7 project - Portfolio Detail (
/portfolio/:slug) - Detail lengkap setiap project - Search & Filter - Cari portfolio berdasarkan kategori & keyword
- Loading Skeleton - UX experience yang lebih baik
- Navigation - Navigasi antar portfolio items
- Dark/Light Theme - Toggle theme yang smooth
- Responsive Design - Mobile-first approach
- Smooth Animations - Hover effects dan transitions
- Gradient Backgrounds - Modern visual design
- WhatsApp Integration - Direct messaging ke nomor bisnis
- React 19.2.0 - UI library
- Vite 7.2.4 - Build tool & dev server
- Tailwind CSS 3.4.18 - Utility-first CSS framework
- React Router DOM - Client-side routing
- Lucide React - Icon library
- Tailwind CSS - Responsive design
- Lucide React Icons - UI icons
- skillicons.dev - Tech stack icons
- ESLint - Code linting
- PostCSS - CSS processing
- Node.js >= 18.0.0
- npm atau yarn
# Clone repository
git clone https://github.com/4lifbima/jokiwebpro.git
cd jokiwebpro
# Install dependencies
npm install
# Jalankan development server
npm run dev
# Build untuk production
npm run build
# Preview build production
npm run preview
# Lint code
npm run lintjokiwebpro/
βββ public/
β βββ portfolio/ # Portfolio images
β βββ angelato.png
β βββ nexus.png
β βββ himatika.png
β βββ programming.png
β βββ lolondong.png
β βββ resumegen.png
βββ src/
β βββ components/ # React components
β β βββ Navbar.jsx # Navigation bar
β β βββ Background.jsx # Gradient orbs
β β βββ Hero.jsx # Hero section
β β βββ Services.jsx # Services grid
β β βββ Portfolio.jsx # Portfolio showcase (4 items)
β β βββ PortfolioAll.jsx # All portfolio page
β β βββ PortfolioDetail.jsx # Detail portfolio page
β β βββ TechStack.jsx # Tech stack display
β β βββ Pricing.jsx # Pricing tiers
β β βββ Testimonials.jsx # Client reviews
β β βββ CTA.jsx # Call-to-action
β β βββ Footer.jsx # Footer
β βββ data/
β β βββ portfolio.js # Portfolio data & helpers
β βββ App.jsx # Main app component & routes
β βββ main.jsx # Entry point dengan Router
β βββ index.css # Global styles
β βββ App.css # App styles
βββ index.html # HTML template
βββ package.json # Dependencies & scripts
βββ vite.config.js # Vite configuration
βββ tailwind.config.js # Tailwind configuration
βββ postcss.config.js # PostCSS configuration
βββ README.md # This file
| Route | Component | Deskripsi |
|---|---|---|
/ |
HomePage | Homepage dengan semua sections |
/portfolio-all |
PortfolioAll | Halaman semua portfolio |
/portfolio/:slug |
PortfolioDetail | Detail portfolio individual |
- e-commerce-platform
- nexus-dashboard
- himatika-nuxtjs
- web-divisi-programming-ksl-ung
- lolondong-squad
- resumegen
<Navbar
isDark={isDark}
scrolled={scrolled}
isMenuOpen={isMenuOpen}
setIsMenuOpen={setIsMenuOpen}
toggleTheme={toggleTheme}
handleWhatsApp={handleWhatsApp}
/>Fitur:
- Fixed navigation dengan scroll detection
- Mobile hamburger menu
- Dark/Light theme toggle
- WhatsApp consultation button
- Portfolio.jsx - Tampilkan 4 portfolio terbaik di homepage
- PortfolioAll.jsx - Tampilkan semua 7 portfolio dengan search & filter
- PortfolioDetail.jsx - Detail lengkap setiap portfolio
- WhatsApp integration dengan nomor:
+62 822 9138 3797 - Multiple CTA buttons di berbagai sections
Portfolio data disimpan di src/data/portfolio.js dengan struktur lengkap termasuk:
- Project details (title, description, client, budget, duration)
- Technology stack (frontend, backend, database, tools)
- Challenges & solutions
- Results & achievements
- Client testimonials
// Get portfolio by slug
getPortfolioBySlug(slug) -> Portfolio | undefined
// Get all slugs untuk routing
getAllPortfolioSlugs() -> string[]
// Create slug dari title
createSlug(title) -> stringWebsite mendukung dark mode & light mode dengan state management:
const [isDark, setIsDark] = useState(true);
const toggleTheme = () => {
setIsDark(!isDark);
};Semua komponen menerima prop isDark untuk conditional styling dengan Tailwind classes.
npm run devServer akan running di http://localhost:5173
npm run lint- Buka DevTools (F12)
- Check Console untuk errors
- Use React DevTools extension
- Check Network tab untuk image loading
npm run buildOutput akan di folder dist/
npm i -g vercel
vercelnpm run build
# Deploy folder dist/ ke NetlifyWebsite fully responsive dengan Tailwind breakpoints:
- Mobile (< 768px)
- Tablet (768px - 1024px)
- Desktop (> 1024px)
Nomor: +62 822 9138 3797 Pesan Default: "Halo, saya ingin berkonsultasi tentang jasa pembuatan website Anda."
Website menampilkan 7 portfolio project yang dapat di-filter berdasarkan kategori dan di-search dengan keyword.
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint- Email: alif67916@gmail.com
- WhatsApp: +62 822 9138 3797
Project ini menggunakan MIT License
Alif Bima Pradana
- Full Stack Developer
- Email: alif67916@gmail.com
- WhatsApp: +62 822 9138 3797
Dibuat dengan β€οΈ oleh Alif Bima Pradana
Last Updated: November 27, 2025