Platform pembuatan CV Taaruf yang aman, privat, dan mudah digunakan.
Taaruf CV Kreator adalah aplikasi web modern yang didedikasikan untuk membantu Muslim dan Muslimah menyusun Curriculum Vitae (CV) taaruf yang rapi, terstruktur, dan sesuai syariat.
Kami memahami bahwa data taaruf adalah privasi yang sangat sensitif. Aplikasi ini dibangun dengan pendekatan Privacy-First: seluruh data Anda diproses dan disimpan secara lokal di browser perangkat Anda. Tidak ada data yang dikirim ke server kami.
-
🔒 Privasi Mutlak (Client-Side Only) - Arsitektur aplikasi menjamin data Anda tetap berada di perangkat Anda. Menggunakan teknologi LocalStorage untuk penyimpanan data.
-
📄 Format Standar Taaruf - Template CV yang telah disesuaikan dengan standar umum proses taaruf, mencakup data diri, kriteria pasangan, visi misi pernikahan, hingga riwayat pendidikan.
-
💾 Simpan & Lanjut Nanti - Fitur Auto-Save dan Draft memungkinkan Anda mengisi formulir panjang secara bertahap tanpa takut kehilangan data.
-
🎨 Tampilan Modern & Responsif - Antarmuka yang bersih dengan tema Burgundy & Amber yang elegan, nyaman diakses baik melalui Desktop, Tablet, maupun Smartphone.
-
📚 Suplemen Ibadah - Dilengkapi dengan fitur Doa & Hadits pilihan seputar pernikahan sebagai bekal spiritual dalam proses taaruf.
-
📤 Ekspor Mudah - Generate CV Anda ke format yang siap dibagikan kepada perantara (murabbi/ustadz) dengan satu klik.
Project ini dikembangkan dengan standar Clean Code dan Clean Architecture untuk memastikan performa dan kemudahan pengembangan:
- Core: Vanilla JavaScript (ES6+)
- UI Framework: Bootstrap 5.3.8
- Icons: Bootstrap Icons 1.13.1 (Self-hosted)
- Build Tool: Vite 7.2.6
- Architecture: MVC (Model-View-Controller)
- Storage: Browser LocalStorage API
- Optimization: Terser minification, CSS code splitting
✅ Lighthouse Score: 100/100
- Performance: 100
- Accessibility: 100
- Best Practices: 100
- SEO: 100
Bundle Size (Production):
- HTML: 7.44 KB (gzipped: 1.96 KB)
- CSS: 321 KB (gzipped: 47 KB)
- JavaScript: 186 KB (gzipped: 47 KB)
- Total (Critical Path): ~95 KB gzipped ⚡
Aplikasi telah diuji dan kompatibel dengan:
- ✅ Chrome/Edge (latest)
- ✅ Firefox (latest)
- ✅ Safari 14+ (desktop & iOS)
- ✅ Mobile browsers (Android Chrome, iOS Safari)
Minimum Requirements:
- JavaScript enabled
- LocalStorage enabled (minimum 5MB available)
- Modern browser with ES6+ support
Ikuti langkah-langkah berikut untuk menjalankan aplikasi di komputer lokal Anda.
Pastikan Anda telah menginstal:
- Node.js (versi 18 atau lebih baru)
- npm (Node Package Manager)
-
Clone repository
git clone https://github.com/username/taaruf-cv-kreator.git cd taaruf-cv-kreator -
Install dependencies
npm install
-
Jalankan mode pengembangan
npm run dev
Aplikasi akan dapat diakses di
http://localhost:5173. -
Build untuk production
npm run build
Output akan tersimpan di folder
dist/. -
Preview production build (optional)
npm run preview
Preview build akan dapat diakses di
http://localhost:4173.
-
Update
vite.config.jsPastikan
baseURL sesuai dengan nama repository Anda:export default defineConfig({ base: "/nama-repository-anda/", // ... rest of config });
-
Build production
npm run build
-
Deploy ke GitHub Pages
Option A: Using GitHub Actions (Recommended)
Create
.github/workflows/deploy.yml:name: Deploy to GitHub Pages on: push: branches: ["main"] workflow_dispatch: permissions: contents: read pages: write id-token: write jobs: deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 - name: Install dependencies run: npm install - name: Build run: npm run build - name: Setup Pages uses: actions/configure-pages@v4 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: "./dist" - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4
Option B: Manual Deploy
# Install gh-pages package npm install --save-dev gh-pages # Add to package.json scripts "deploy": "gh-pages -d dist" # Build and deploy npm run build npm run deploy
-
Enable GitHub Pages
- Go to repository Settings → Pages
- Source: Deploy from a branch
- Branch:
gh-pages/ root - Save
-
Access your app
https://your-username.github.io/repository-name/
-
Connect repository to Netlify
-
Build settings:
- Build command:
npm run build - Publish directory:
dist - Base directory: (leave empty)
- Build command:
-
Environment variables: None required
-
Deploy!
# Install Vercel CLI
npm install -g vercel
# Deploy
vercel
# Follow prompts:
# - Set up and deploy? Yes
# - Which scope? (select your account)
# - Link to existing project? No
# - Project name: taaruf-cv-kreator
# - In which directory is your code? ./
# - Override settings? NoGambaran singkat struktur direktori project:
taaruf-cv-kreator/
├── docs/ # Dokumentasi lengkap & laporan fase
├── plan/ # Rencana pengembangan fitur
├── spec/ # Spesifikasi teknis & desain sistem
├── src/
│ ├── components/ # Komponen UI (Modal, Toast, Cards)
│ ├── data/ # Data statis (Doa, Hadits)
│ ├── router/ # Sistem routing aplikasi
│ ├── services/ # Logika bisnis (Storage, Generator, Validasi)
│ ├── utils/ # Fungsi utilitas (Date, ID, Formatting)
│ ├── views/ # Halaman/View aplikasi
│ └── main.js # Entry point
└── index.html # File utama HTML
Project telah menyelesaikan Fase 6.1 (Performance Optimization) dengan Lighthouse score 100/100.
| Fase | Deskripsi | Status |
|---|---|---|
| Fase 1 | Data Layer & Storage Service | ✅ Selesai |
| Fase 2 | UI Skeleton & Routing | ✅ Selesai |
| Fase 3 | Form Implementation & Validation | ✅ Selesai |
| Fase 4 | CV Generator Logic | ✅ Selesai |
| Fase 5 | Integration, Polishing & Testing | ✅ Selesai |
| Fase 6 | Performance & Deployment Prep | ✅ Selesai |
Untuk dokumentasi teknis lengkap, lihat folder /docs:
Product_Requirement_Document.md- Requirements & acceptance criteriadocs/phase-5-8-acceptance-criteria-verification.md- Testing results (95.2% PASS)docs/phase-5-6-cross-browser-testing-report.md- Browser compatibilitydocs/lighthouse-audit-guide.md- Performance audit documentationplan/feature-performance-deployment-6.md- Phase 6 planning
Aplikasi ini telah melalui pengujian komprehensif:
- ✅ Unit Testing: Form validation, data services, utilities
- ✅ Integration Testing: End-to-end user flows (20+ scenarios)
- ✅ Cross-Browser Testing: Chrome, Firefox, Edge, Safari
- ✅ Responsive Testing: Mobile (375px), Tablet (768px), Desktop (1024px+)
- ✅ Accessibility Testing: WCAG 2.1 Level AA compliant
- ✅ Performance Testing: Lighthouse 100/100
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Follow the coding standards (Clean Code, Clean Architecture)
- Write tests for new features
- Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Issue: Build fails with "terser not found"
# Solution:
npm install -D terserIssue: LocalStorage not available
- Check browser settings (cookies/site data must be enabled)
- Private/Incognito mode may disable LocalStorage
- Ensure minimum 5MB storage available
Issue: Fonts not loading in production
- Check
vite.config.jsbase URL matches your deployment path - Clear browser cache and hard refresh (Ctrl+F5)
Issue: Routing not working after deployment
- SPA requires proper server configuration for hash routing
- For GitHub Pages: hash routing (#/) works by default
- For custom servers: configure fallback to index.html
- ✅ No backend server - 100% client-side application
- ✅ No data transmission to external servers
- ✅ All data stored locally in browser (LocalStorage)
- ✅ No cookies, no tracking, no analytics
- ✅ No external API calls (except Google Fonts CDN)
- ✅ HTTPS recommended for production deployment
Data Security Best Practices:
- Users should backup their data regularly (export CV to file)
- Clear browser data will erase LocalStorage
- Recommend using browser profiles for separation of data
- Export to PDF (client-side rendering)
- Multiple CV templates
- Data export/import (JSON/CSV)
- PWA support (offline capability)
- Multi-language support (English, Arabic)
- Print-optimized CSS
Built with:
- Bootstrap 5 - UI framework
- Bootstrap Icons - Icon library
- Vite - Build tool
- Google Fonts - Typography (Google Sans, Amiri)
Images:
- Background photos from Unsplash
- Icons from Bootstrap Icons
Project ini dilisensikan di bawah MIT License.
Dibuat dengan ❤️ oleh Gulajava Ministudio
