lapeh 2.2.2 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/doc/CHEATSHEET.md +89 -0
- package/doc/CLI.md +106 -0
- package/doc/CONTRIBUTING.md +105 -0
- package/doc/DEPLOYMENT.md +122 -0
- package/doc/FAQ.md +81 -0
- package/doc/FEATURES.md +165 -0
- package/doc/GETTING_STARTED.md +108 -0
- package/doc/INTRODUCTION.md +60 -0
- package/doc/PACKAGES.md +66 -0
- package/doc/ROADMAP.md +93 -0
- package/doc/SECURITY.md +93 -0
- package/doc/STRUCTURE.md +72 -0
- package/doc/TUTORIAL.md +192 -0
- package/package.json +1 -1
- package/readme.md +35 -3
- package/document.md +0 -205
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -17,11 +17,43 @@ Cocok untuk developer yang mencari **Express boilerplate** dengan fitur lengkap:
|
|
|
17
17
|
- **High Performance**: Mendukung Fast-Serialization (Fastify-style) untuk response JSON super cepat.
|
|
18
18
|
- **Scalable**: Siap untuk deployment Cluster/Load Balancer dengan Redis Store.
|
|
19
19
|
|
|
20
|
+
## 🔮 Roadmap (Rencana Masa Depan)
|
|
21
|
+
|
|
22
|
+
Lapeh Framework akan terus berkembang menjadi solusi Enterprise yang lengkap. Kami memiliki rencana besar untuk fitur-fitur seperti **Job Queues**, **Storage Abstraction (S3)**, **Mailer**, dan **OpenAPI Generator**.
|
|
23
|
+
|
|
24
|
+
Lihat detail rencana pengembangan di **[ROADMAP.md](doc/ROADMAP.md)**.
|
|
25
|
+
|
|
26
|
+
## 🤝 Berkontribusi (Open Source)
|
|
27
|
+
|
|
28
|
+
Lapeh adalah proyek Open Source dan kami sangat terbuka untuk kontribusi dari komunitas! Baik itu perbaikan bug, penambahan fitur, atau perbaikan dokumentasi.
|
|
29
|
+
|
|
30
|
+
Ingin ikut berkontribusi? Silakan baca **[Panduan Kontribusi (CONTRIBUTING.md)](doc/CONTRIBUTING.md)** untuk memulai.
|
|
31
|
+
|
|
20
32
|
## 📚 Dokumentasi Lengkap
|
|
21
33
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
Kami menyusun "Learning Path" agar Anda bisa memahami framework ini dari nol hingga mahir.
|
|
35
|
+
|
|
36
|
+
### 🐣 Level 1: Pemula (Wajib Baca)
|
|
37
|
+
|
|
38
|
+
- **[Pengenalan Framework](doc/INTRODUCTION.md)**: Mengapa framework ini ada? Apa bedanya dengan yang lain?
|
|
39
|
+
- **[Getting Started](doc/GETTING_STARTED.md)**: Instalasi dan setup awal.
|
|
40
|
+
- **[Bedah Struktur Folder](doc/STRUCTURE.md)**: Pahami fungsi setiap file dan direktori.
|
|
41
|
+
- **[Referensi Package](doc/PACKAGES.md)**: Penjelasan kegunaan setiap library yang terinstall.
|
|
42
|
+
- **[Cheatsheet (Contekan)](doc/CHEATSHEET.md)**: Daftar perintah & kode cepat.
|
|
43
|
+
|
|
44
|
+
### 🔨 Level 2: Membangun Aplikasi
|
|
45
|
+
|
|
46
|
+
- **[CLI Tools](doc/CLI.md)**: Percepat kerja dengan generator kode (`make:module`, dll).
|
|
47
|
+
- **[Tutorial Studi Kasus](doc/TUTORIAL.md)**: Bikin API "Perpustakaan" dari nol sampai jadi.
|
|
48
|
+
- **[Fitur & Konsep Inti](doc/FEATURES.md)**: Validasi, Auth, RBAC, dan Serializer.
|
|
49
|
+
|
|
50
|
+
### 🚀 Level 3: Mahir & Production
|
|
51
|
+
|
|
52
|
+
- **[Performance Guide](doc/PERFORMANCE.md)**: Tips optimasi high-scale app.
|
|
53
|
+
- **[Security Best Practices](doc/SECURITY.md)**: Panduan mengamankan aplikasi.
|
|
54
|
+
- **[Deployment Guide](doc/DEPLOYMENT.md)**: Cara deploy ke VPS, Docker, atau Cloud.
|
|
55
|
+
- **[FAQ & Troubleshooting](doc/FAQ.md)**: Solusi masalah umum.
|
|
56
|
+
- **[Changelog](doc/CHANGELOG.md)**: Riwayat versi.
|
|
25
57
|
|
|
26
58
|
## 📦 Instalasi & Penggunaan
|
|
27
59
|
|
package/document.md
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
# Lapeh Framework For Website Documentation
|
|
2
|
-
|
|
3
|
-
Jika Anda ingin membangun website dokumentasi sekelas **NestJS** atau **Next.js** di `https://lapeh.web.id`, berikut adalah **Blueprint Lengkap** (Rancang Bangun) yang perlu Anda siapkan.
|
|
4
|
-
|
|
5
|
-
Tujuannya adalah membuat pengguna baru merasa _terbimbing_ dari nol hingga mahir, serta memberikan referensi cepat bagi pengguna lama.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. Rekomendasi Teknologi (Tech Stack)
|
|
10
|
-
|
|
11
|
-
Untuk membuat dokumentasi yang modern, cepat, dan mudah dikelola, jangan membuatnya dari nol (HTML manual). Gunakan _Documentation Framework_:
|
|
12
|
-
|
|
13
|
-
- **Pilihan Utama (React/Next.js ecosystem):** [Nextra](https://nextra.site/) atau [Docusaurus](https://docusaurus.io/).
|
|
14
|
-
- _Alasan:_ Mendukung Markdown/MDX, SEO friendly, pencarian cepat, dan tampilan yang sangat mirip dengan Next.js/Vercel docs.
|
|
15
|
-
- **Alternatif (Vue ecosystem):** [VitePress](https://vitepress.dev/).
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## 2. Struktur Menu Utama (Top Navigation)
|
|
20
|
-
|
|
21
|
-
Menu di bagian atas (Header) harus sederhana namun mencakup akses ke area vital:
|
|
22
|
-
|
|
23
|
-
1. **Docs** (Dokumentasi utama)
|
|
24
|
-
2. **API Reference** (Kamus kode: daftar lengkap class, function, interface)
|
|
25
|
-
3. **Blog** (Berita rilis versi baru, tutorial kasus nyata)
|
|
26
|
-
4. **Community** (Link ke Discord, GitHub Discussions)
|
|
27
|
-
5. **GitHub Icon** (Link ke repository)
|
|
28
|
-
6. **Search Bar** (Pencarian global - _Wajib ada_)
|
|
29
|
-
7. **Version Dropdown** (Jika nanti ada v2.0, v3.0, user bisa ganti versi)
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 3. Struktur Konten (Sidebar Menu)
|
|
34
|
-
|
|
35
|
-
Ini adalah "Jantung" dari dokumentasi Anda. Urutannya harus logis: dari pengenalan -> dasar -> teknik lanjut -> deploy.
|
|
36
|
-
|
|
37
|
-
### A. Introduction (Pengenalan)
|
|
38
|
-
|
|
39
|
-
- **Overview**: Apa itu Lapeh? Kenapa menggunakan ini? (Filosofi: Struktur Laravel di Node.js).
|
|
40
|
-
- **Installation**: Cara install via `npx lapeh@latest`.
|
|
41
|
-
- **First Steps**: "Hello World" pertama, menjalankan `npm run dev`, struktur folder awal.
|
|
42
|
-
- **CLI Commands**: Penjelasan perintah `lapeh`, `npm run make:module`, dll.
|
|
43
|
-
|
|
44
|
-
### B. Fundamentals (Dasar-Dasar)
|
|
45
|
-
|
|
46
|
-
- **Directory Structure**: Penjelasan detail folder `src/`, `prisma/`, `bin/`.
|
|
47
|
-
- **Routing**: Cara membuat route baru di `src/routes/`.
|
|
48
|
-
- **Controllers**: Cara membuat controller, menangani Request/Response.
|
|
49
|
-
- **Services**: Business logic layer (pemisahan logic dari controller).
|
|
50
|
-
- **Middleware**: Cara kerja middleware, error handling global, validation.
|
|
51
|
-
- **DTO & Validation**: Validasi request menggunakan **Zod**.
|
|
52
|
-
|
|
53
|
-
### C. Database (Prisma ORM)
|
|
54
|
-
|
|
55
|
-
- **Prisma Basics**: Konfigurasi `.env`, `prisma/base.prisma`.
|
|
56
|
-
- **Models**: Cara membuat model baru di `src/models/*.prisma`.
|
|
57
|
-
- **Migrations**: Workflow `npm run prisma:migrate` vs `prisma:deploy`.
|
|
58
|
-
- **Seeding**: Cara mengisi data awal (`npm run db:seed`).
|
|
59
|
-
- **Studio**: Mengelola data via GUI (`npm run db:studio`).
|
|
60
|
-
|
|
61
|
-
### D. Security (Keamanan)
|
|
62
|
-
|
|
63
|
-
- **Authentication**: Login, Register, JWT Strategy.
|
|
64
|
-
- **Authorization (RBAC)**: Role-based access control (Admin vs User).
|
|
65
|
-
- **Encryption**: Hashing password (Bcrypt).
|
|
66
|
-
- **Protection**: Helmet, CORS, Rate Limiting (sudah built-in di Lapeh).
|
|
67
|
-
|
|
68
|
-
### E. Techniques (Teknik Lanjut)
|
|
69
|
-
|
|
70
|
-
- **File Upload**: Upload gambar/file (Multer).
|
|
71
|
-
- **Realtime**: Integrasi Socket.io (karena sudah ada di `src/realtime.ts`).
|
|
72
|
-
- **Caching**: Redis integration.
|
|
73
|
-
- **Logging**: Cara logging error dan activity.
|
|
74
|
-
- **Unit Testing**: (Jika ada fitur testing).
|
|
75
|
-
|
|
76
|
-
### F. Deployment (Rilis)
|
|
77
|
-
|
|
78
|
-
- **Environment Variables**: Persiapan `.env` untuk production.
|
|
79
|
-
- **Process Manager**: Menggunakan PM2.
|
|
80
|
-
- **Docker**: Cara containerize aplikasi Lapeh.
|
|
81
|
-
- **Cloud Platforms**: Panduan deploy ke VPS (Ubuntu), Railway, atau Vercel.
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 4. Fitur Wajib di Website Dokumentasi
|
|
86
|
-
|
|
87
|
-
Agar website dokumentasi Anda terasa "Profesional" dan "Developer Friendly":
|
|
88
|
-
|
|
89
|
-
1. **Code Highlighting & Copy Button**:
|
|
90
|
-
Setiap blok kode harus punya warna syntax (highlighting) dan tombol "Copy" di pojok kanan atas.
|
|
91
|
-
|
|
92
|
-
```typescript
|
|
93
|
-
// Contoh tombol copy harus ada di sini
|
|
94
|
-
const app = lapeh();
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
2. **Dark Mode**:
|
|
98
|
-
Developer suka mode gelap. Pastikan website mendukung toggle Light/Dark mode.
|
|
99
|
-
|
|
100
|
-
3. **Algolia Search (Pencarian Cepat)**:
|
|
101
|
-
User tidak suka klik menu satu per satu. Mereka ingin ketik "JWT" dan langsung ketemu halamannya.
|
|
102
|
-
|
|
103
|
-
4. **Prev/Next Pagination**:
|
|
104
|
-
Di bawah setiap artikel, ada tombol untuk lanjut ke bab berikutnya.
|
|
105
|
-
|
|
106
|
-
- _< Sebelumnya: Installation_ | _Selanjutnya: First Steps >_
|
|
107
|
-
|
|
108
|
-
5. **"Edit this page on GitHub"**:
|
|
109
|
-
Tombol di setiap halaman agar komunitas bisa bantu koreksi typo atau update dokumentasi (Open Source contribution).
|
|
110
|
-
|
|
111
|
-
6. **Interactive Tabs**:
|
|
112
|
-
Jika ada pilihan (misal: NPM vs Yarn vs PNPM), gunakan tab.
|
|
113
|
-
```
|
|
114
|
-
[NPM] [Yarn] [PNPM]
|
|
115
|
-
npm install lapeh
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## 5. Contoh Konten Halaman Utama (Landing Page)
|
|
121
|
-
|
|
122
|
-
Halaman depan `https://lapeh.web.id` jangan langsung masuk ke dokumentasi teknis. Buat _Selling Point_:
|
|
123
|
-
|
|
124
|
-
- **Hero Section**:
|
|
125
|
-
- Judul Besar: "The Standardized Node.js Framework".
|
|
126
|
-
- Sub-judul: "Build scalable APIs with ease. Inspired by Laravel, powered by Express & Prisma."
|
|
127
|
-
- Tombol: [Get Started] [GitHub].
|
|
128
|
-
- **Features Grid**:
|
|
129
|
-
- 📦 **Modular**: Terstruktur rapi per fitur.
|
|
130
|
-
- 🛡️ **Type-Safe**: Full TypeScript & Zod.
|
|
131
|
-
- ⚡ **Prisma Power**: Database ORM modern.
|
|
132
|
-
- 🚀 **CLI Tools**: Generate code dalam detik.
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 6. Langkah Kerja (Action Plan)
|
|
137
|
-
|
|
138
|
-
1. **Setup Repo**: Buat repo baru `lapeh-docs`.
|
|
139
|
-
2. **Init Project**: `npx create-nextra-app` (paling cepat) atau `npx create-docusaurus@latest`.
|
|
140
|
-
3. **Isi Konten**: Pindahkan isi `readme.md` dan `framework.md` ke dalam struktur bab di atas.
|
|
141
|
-
4. **Deploy**: Push ke GitHub, connect ke **Vercel** (gratis untuk open source).
|
|
142
|
-
5. **Domain**: Beli/set `lapeh.web.id` arahkan ke Vercel.
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 7. Struktur Folder Proyek Dokumentasi (Nextra/Docusaurus)
|
|
147
|
-
|
|
148
|
-
Berikut adalah gambaran struktur folder jika Anda menggunakan **Nextra** (berbasis Next.js) untuk website dokumentasi `lapeh.web.id`:
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
lapeh-docs/
|
|
152
|
-
├── pages/
|
|
153
|
-
│ ├── index.mdx # Halaman Landing Page (Home)
|
|
154
|
-
│ ├── _meta.json # Konfigurasi Menu Sidebar & Top Nav
|
|
155
|
-
│ ├── docs/ # Folder Utama Dokumentasi
|
|
156
|
-
│ │ ├── _meta.json # Urutan menu sidebar
|
|
157
|
-
│ │ ├── introduction/
|
|
158
|
-
│ │ │ ├── _meta.json
|
|
159
|
-
│ │ │ ├── overview.mdx # Apa itu Lapeh?
|
|
160
|
-
│ │ │ ├── installation.mdx
|
|
161
|
-
│ │ │ ├── first-steps.mdx
|
|
162
|
-
│ │ │ └── cli.mdx
|
|
163
|
-
│ │ ├── fundamentals/
|
|
164
|
-
│ │ │ ├── _meta.json
|
|
165
|
-
│ │ │ ├── directory-structure.mdx
|
|
166
|
-
│ │ │ ├── routing.mdx
|
|
167
|
-
│ │ │ ├── controllers.mdx
|
|
168
|
-
│ │ │ └── ...
|
|
169
|
-
│ │ ├── database/
|
|
170
|
-
│ │ │ ├── _meta.json
|
|
171
|
-
│ │ │ ├── prisma-basics.mdx
|
|
172
|
-
│ │ │ ├── models.mdx
|
|
173
|
-
│ │ │ └── ...
|
|
174
|
-
│ │ ├── security/
|
|
175
|
-
│ │ │ ├── _meta.json
|
|
176
|
-
│ │ │ └── ...
|
|
177
|
-
│ │ ├── techniques/
|
|
178
|
-
│ │ │ ├── _meta.json
|
|
179
|
-
│ │ │ └── ...
|
|
180
|
-
│ │ └── deployment/
|
|
181
|
-
│ │ ├── _meta.json
|
|
182
|
-
│ │ └── ...
|
|
183
|
-
│ ├── blog/ # Folder Blog
|
|
184
|
-
│ │ ├── _meta.json
|
|
185
|
-
│ │ ├── release-v1-0-0.mdx
|
|
186
|
-
│ │ └── tutorial-auth.mdx
|
|
187
|
-
│ └── about.mdx # Halaman About/Team
|
|
188
|
-
├── public/ # Aset statis (Logo, Gambar)
|
|
189
|
-
│ ├── logo.png
|
|
190
|
-
│ ├── favicon.ico
|
|
191
|
-
│ └── images/
|
|
192
|
-
│ └── architecture-diagram.png
|
|
193
|
-
├── theme.config.jsx # Konfigurasi Tema (Logo, Footer, Social Links)
|
|
194
|
-
├── next.config.js # Config Next.js
|
|
195
|
-
├── package.json
|
|
196
|
-
└── tsconfig.json
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### Penjelasan File Penting:
|
|
200
|
-
|
|
201
|
-
- **`pages/`**: Semua konten Markdown/MDX ada di sini.
|
|
202
|
-
- **`_meta.json`**: File json kecil di setiap folder untuk mengatur urutan menu sidebar dan judul yang tampil.
|
|
203
|
-
- **`theme.config.jsx`**: Di sini Anda mengatur logo `Lapeh`, link GitHub, dan konfigurasi SEO.
|
|
204
|
-
|
|
205
|
-
Dengan struktur ini, framework Anda akan terlihat sangat matang dan profesional, meningkatkan kepercayaan developer untuk menggunakannya.
|