2.0.111 • Published 7 months ago

create-kontas v2.0.111

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

🚀 KONTAS - Koding Fantasi

KONTAS Stack adalah platform pengembangan modern dan super canggih yang dirancang khusus untuk mempercepat proses pengembangan API menggunakan MongoDB dan GraphQL/REST. Dengan fitur-fitur yang inovatif, KONTAS membantu kamu menciptakan API kompleks hanya dalam hitungan detik! 🚀


🌟 Fitur Unggulan KONTAS

1️⃣ Kemudahan Setup

  • Proses instalasi super cepat menggunakan satu perintah sederhana.
  • Otomatis menghasilkan struktur proyek yang rapi dan terorganisasi.

2️⃣ CLI Canggih

  • Membuat model, schema, dan seeder hanya dengan satu perintah.
  • Mendukung framework seperti MongoDB + GraphQL/REST dan segera hadir untuk Next.js serta TypeScript.

3️⃣ GraphQL/REST Otomatis

  • CRUD otomatis untuk model yang dibuat.
  • Dukungan penuh untuk GraphQL Playground dan Postman.

4️⃣ Seeding yang Mudah

  • Proses reset, tambah, atau hapus data database dengan perintah sederhana.

5️⃣ Modular dan Scalable

  • Struktur proyek yang mudah diperluas untuk kebutuhan aplikasi besar.
  • Dukungan middleware untuk pengelolaan tugas umum.

6️⃣ Dukungan Komunitas

  • Aktif di platform seperti Discord dan GitHub untuk membantu semua developer.

📚 Panduan Lengkap Penggunaan KONTAS

Di bawah ini, kamu akan menemukan tutorial langkah demi langkah untuk memulai, mengatur, dan memaksimalkan potensi KONTAS. Kami juga menyertakan tips praktis, contoh nyata, dan troubleshooting agar pengalaman pengembanganmu semakin menyenangkan. 🚀


1️⃣ Instalasi & Setup Proyek dengan KONTAS

Langkah pertama untuk memulai perjalanan bersama KONTAS adalah dengan membuat proyek baru. Dengan tiga cara berikut, kamu bisa langsung memulai tanpa kerumitan:

npx create-kontas my-app    # Membuat folder baru dengan nama "my-app"
npx create-kontas .         # Menggunakan folder saat ini untuk proyek baru
npx create-kontas           # KONTAS akan meminta nama proyek

Setelah menjalankan salah satu perintah di atas, kamu akan diminta untuk:

  1. Memilih framework:

    • MongoDB + Apollo GraphQL (Siap digunakan!) 🚀
    • MongoDB + Express REST (Siap digunakan!) 🚀
    • MongoDB + Express + TypeScript (Siap digunakan!) 🚀
    • MongoDB + Next.js (Akan hadir Januari 2025) ⏳
  2. Menentukan MongoDB URI: (Default: mongodb://localhost:27017)

  3. Memberikan nama database: (Default: nama_project)

Langkah ini hanya membutuhkan beberapa detik, dan proyekmu akan langsung siap untuk dikembangkan. 🎉


2️⃣ Menguasai CLI: Perintah Dasar KONTAS

KONTAS menyediakan CLI (Command Line Interface) yang powerful untuk mempermudah pekerjaanmu. Berikut format umum untuk menjalankan perintah CLI:

# Framework
MongoDB + Apollo GraphQL        === mongajs
MongoDB + Express REST          === mongoejs
MongoDB + Express + TypeScript  === mongoets

# Format dasar
npx kontas-cli <framework> <nama_model> <field_name>:<field_type>

# Contoh untuk framework MongoDB + Apollo GraphQL (mongajs):
# ⚠️ WARNING: Jika sudah menggunakan create-kontas, maka tidak perlu lagi init
# ⚠️ PERINGATAN: Perintah init hanya untuk proyek yang belum menggunakan create-kontas
npx kontas-cli mongajs init

# Generate model
npx kontas-cli mongajs generate User name:string email:string

# Alias lebih pendek
npx kontas-cli mongajs g User name:string email:string

# ⚠️ INGAT! JANGAN SAMPAI SALAH NAMA FRAMEWORK! ⚠️
# MongoDB + Apollo GraphQL, maka nama framework adalah mongajs
npx kontas-cli mongajs g User name:string email:string

# Jika MongoDB + Express REST, maka nama framework adalah mongoejs
npx kontas-cli mongoejs g User name:string email:string

# Jika MongoDB + Express + TypeScript, maka nama framework adalah mongoets
npx kontas-cli mongoets g User name:string email:string

# dll

Keunggulan KONTAS CLI:

  • Cepat: Semua otomatis, tidak perlu konfigurasi manual.
  • Fleksibel: Mendukung berbagai framework dan skenario.
  • Mudah: Cukup satu perintah untuk membuat model, schema/controller, dan seeder.

3️⃣ Perintah Penting dalam Proyek

Berikut adalah beberapa perintah yang wajib kamu kuasai:

npm run dev          # Menjalankan server dengan hot reload untuk pengembangan
npm run start        # Menjalankan server dalam mode produksi
npm run seed         # Reset database dan seed ulang data
npm run seed:up      # Menambahkan data baru tanpa mereset database
npm run seed:down    # Menghapus semua data dari database

// untuk mongoets wajib menggunakan Bun

bun dev      # Menjalankan server dengan hot reload untuk pengembangan
bun seed     # Reset database dan seed ulang data
bun start    # Menjalankan server dalam mode produksi

untuk menggunakan Bun, maka install dulu Bun

npm install -g bun

untuk package

bun install
bun add bcryptjs jsonwebtoken
bun remove bcryptjs jsonwebtoken

# dll

4️⃣ Membuat Model & Schema

Fitur utama KONTAS adalah kemampuan untuk membuat model dan schema dengan satu perintah sederhana. Contohnya:

# Format lengkap
npx kontas-cli mongajs generate User name:string age:number

# Format pendek
npx kontas-cli mongajs g User name:string age:number

# Jika MongoDB + Express REST, maka nama framework adalah mongoejs
npx kontas-cli mongoejs g User name:string age:number

# Jika MongoDB + Express + TypeScript, maka nama framework adalah mongoets
npx kontas-cli mongoets g User name:string age:number

Jenis tipe data yang didukung:

Untuk MongoDB + Apollo GraphQL (mongajs) & MongoDB + Express REST (mongoejs):

  • string -> String
  • number -> Float
  • integer -> Int
  • boolean -> Boolean
  • date -> Date
  • id -> ID
  • float -> Float
  • json -> JSON
  • [string] -> String
  • [number] -> Float
  • [integer] -> Int
  • [boolean] -> Boolean
  • [date] -> Date
  • [id] -> ID
  • [float] -> Float
  • [json] -> JSON

Untuk MongoDB + Express + TypeScript (mongoets):

  • string -> String (z.string())
  • number -> Number (z.number())
  • boolean -> Boolean (z.boolean())
  • date -> Date (z.date())
  • array -> Array of strings (z.array(z.string()))
  • object -> Object with string values (z.record(z.string()))
  • email -> Email string (z.string().email())
  • url -> URL string (z.string().url())
  • uuid -> UUID string (z.string().uuid())
  • enum -> Enum of values (z.enum(values))
  • json -> JSON object (z.record(z.unknown()))

5️⃣ Seeding Data ke Database

Proses seeding sangat mudah dengan KONTAS. Ikuti langkah berikut:

  1. Edit file JSON di folder data/[model].json. Contoh:
[
    {
        "_id": "000000000000000000000001",
        "name": "Hens MSN",
        "email": "hendymms@engineer.com",
        "age": 25
    }
]

6️⃣ Menggunakan GraphQL Playground

GraphQL Playground memungkinkanmu untuk menguji API dengan antarmuka yang interaktif. Ikuti langkah berikut:

  1. Jalankan server:
npm run dev
  1. Buka http://localhost:4000 di browser.

  2. Contoh query GraphQL:

# Mendapatkan semua user
query {
    users {
        _id
        name
        email
    }
}

# Membuat user baru
mutation {
    createUser(input: {
        name: "Hens MSN"
        email: "hendymms@engineer.com"
        age: 25
    }) {
        _id
        name
    }
}

7️⃣ Menggunakan Postman untuk testing API pada MongoDB + Express REST

Postman adalah alat yang sangat membantu untuk testing API. Berikut adalah contoh penggunaan Postman untuk testing API pada MongoDB + Express REST:

  1. Buka Postman
  2. Buat request baru
  3. Pilih method HTTP yang ingin digunakan (GET, POST, PUT, DELETE)
  4. Masukkan URL API yang ingin digunakan
  5. Masukkan header Authorization dengan value Basic Auth
  6. Masukkan body request dengan format JSON
  7. Klik tombol Send

Contoh request untuk mendapatkan semua user:

GET http://localhost:3000/api/users

Contoh request untuk membuat user baru:

POST http://localhost:3000/api/users
{
    "name": "Hens MSN",
    "email": "hendymms@engineer.com",
    "age": 25
}

8️⃣ Tips dan Trik untuk Pengembangan

Berikut adalah beberapa tips untuk memaksimalkan penggunaan KONTAS:

  1. Alur Kerja yang Ideal:
# 1. Membuat proyek baru
npx create-kontas my-app

# 2. Membuat model
npx kontas-cli mongajs generate User name:string
npx kontas-cli mongajs generate Product name:string

# Atau kalau misalnya MongoDB + Express REST
npx kontas-cli mongoejs generate User name:string email:string age:number
npx kontas-cli mongoejs generate Product name:string price:number

# Atau kalau misalnya MongoDB + Express + TypeScript
npx kontas-cli mongoets generate User name:string email:string age:number
npx kontas-cli mongoets generate Product name:string price:number

# 3. Edit data untuk seeder
# Tambahkan data di data/user.json & data/product.json

# 4. Seed database
npm run seed

# 5. Mulai pengembangan
npm run dev

# JIKA MENGUNAKAN BUN
bun seed
bun dev
  1. Praktik Terbaik:
  • Buat model yang modular dan terfokus.
  • Gunakan middleware untuk tugas umum seperti validasi.
  • Selalu tulis dokumentasi kode yang jelas.
  • Untuk proyek besar, pertimbangkan menggunakan TypeScript.

"Think out of the box" - Hens MSN


👥 Tim Kami

KONTAS Stack diciptakan dengan penuh semangat oleh:

  • Hens MSN - Lead Architect
  • Karisha Oka - Backend Developer
  • Adella Java - Database Architect
  • Rafles S - QA Engineer
  • Seno W - DevOps Engineer

Kami adalah tim yang berkomitmen untuk memberikan solusi terbaik bagi para developer di seluruh dunia.


🤝 Kontribusi

Kamu ingin ikut serta dalam pengembangan KONTAS? Kami selalu membuka kesempatan untuk kontribusi! Kunjungi GitHub repo kami untuk informasi lebih lanjut.

Panduan Kontribusi

  1. Fork repository kami di GitHub.
  2. Buat branch baru untuk fitur atau perbaikan yang ingin kamu tambahkan.
  3. Lakukan pull request dan tuliskan deskripsi rinci.
  4. Diskusikan dengan tim untuk penggabungan kode.

📝 License

KONTAS Stack dirilis di bawah lisensi MIT dan dikembangkan dengan cinta ❤️ oleh tim KONTAS Stack. Untuk informasi lebih lanjut, kunjungi GitHub kami.


📚 Q&A

1. Apakah KONTAS Stack bisa digunakan untuk proyek besar?

Sebenarnya, KONTAS Stack sudah bisa digunakan untuk proyek besar dan kompleks, tapi kami masih dalam tahap pengembangan dan testing. Kami akan segera merilis versi stabil untuk proyek besar dan kompleks.

2. Apakah KONTAS Stack bisa digunakan untuk proyek kecil?

KONTAS Stack dirancang untuk proyek kecil dan sederhana. Dengan fitur-fitur yang inovatif, KONTAS membantu kamu menciptakan API kompleks hanya dalam hitungan detik! HANYA LEWAT KONTAS CLI 🚀

3. Apakah KONTAS Stack berbayar?

KONTAS Stack adalah platform gratis dan open source. Kami tidak akan mengenakan biaya apapun untuk penggunaan KONTAS Stack.

4. Seberapa cepat performa KONTAS Stack?

KONTAS Stack sangat cepat dan canggih, anda hanya perlu menyiapkan data.json yg diperlukan, dan kontas akan membuatkan backend anda dengan cepat dan canggih dengan code yang simple dan mudah dipahami dan juga efisien.


KONTAS: Solusi pengembangan API tercepat dan paling canggih untuk era modern. Mulai proyekmu sekarang dan rasakan bedanya!

2.0.109

7 months ago

2.0.111

7 months ago

2.0.110

7 months ago

2.0.108

7 months ago

2.0.107

7 months ago

2.0.106

7 months ago

2.0.105

7 months ago

2.0.104

7 months ago

2.0.103

7 months ago

2.0.102

7 months ago

2.0.101

7 months ago

2.0.100

7 months ago

2.0.99

7 months ago

2.0.98

7 months ago

2.0.97

7 months ago

2.0.95

7 months ago

2.0.96

7 months ago

2.0.93

7 months ago

2.0.94

7 months ago

2.0.91

8 months ago

2.0.92

7 months ago

2.0.90

8 months ago

2.0.28

8 months ago

2.0.29

8 months ago

2.0.37

8 months ago

2.0.3

8 months ago

2.0.38

8 months ago

2.0.2

8 months ago

2.0.35

8 months ago

2.0.5

8 months ago

2.0.36

8 months ago

2.0.4

8 months ago

2.0.33

8 months ago

2.0.7

8 months ago

2.0.34

8 months ago

2.0.6

8 months ago

2.0.31

8 months ago

2.0.9

8 months ago

2.0.32

8 months ago

2.0.8

8 months ago

2.0.30

8 months ago

2.0.1

8 months ago

2.0.39

8 months ago

2.0.48

8 months ago

2.0.49

8 months ago

2.0.46

8 months ago

2.0.47

8 months ago

2.0.44

8 months ago

2.0.45

8 months ago

2.0.42

8 months ago

2.0.43

8 months ago

2.0.59

8 months ago

2.0.57

8 months ago

2.0.58

8 months ago

2.0.55

8 months ago

2.0.56

8 months ago

2.0.53

8 months ago

2.0.54

8 months ago

2.0.51

8 months ago

2.0.52

8 months ago

2.0.50

8 months ago

2.0.68

8 months ago

2.0.69

8 months ago

2.0.66

8 months ago

2.0.67

8 months ago

2.0.64

8 months ago

2.0.65

8 months ago

2.0.62

8 months ago

2.0.63

8 months ago

2.0.60

8 months ago

2.0.61

8 months ago

2.0.79

8 months ago

2.0.77

8 months ago

1.2.41

8 months ago

2.0.78

8 months ago

1.2.42

8 months ago

2.0.75

8 months ago

2.0.76

8 months ago

1.2.40

8 months ago

2.0.73

8 months ago

1.2.45

8 months ago

2.0.74

8 months ago

1.2.46

8 months ago

2.0.71

8 months ago

1.2.43

8 months ago

2.0.72

8 months ago

1.2.44

8 months ago

1.2.49

8 months ago

2.0.70

8 months ago

1.2.47

8 months ago

1.2.48

8 months ago

2.0.88

8 months ago

2.0.89

8 months ago

2.0.86

8 months ago

1.2.50

8 months ago

2.0.87

8 months ago

2.0.84

8 months ago

2.0.82

8 months ago

2.0.83

8 months ago

2.0.80

8 months ago

2.0.81

8 months ago

1.2.19

8 months ago

2.0.15

8 months ago

2.0.16

8 months ago

2.0.13

8 months ago

2.0.14

8 months ago

2.0.11

8 months ago

2.0.12

8 months ago

1.2.20

8 months ago

2.0.10

8 months ago

1.2.23

8 months ago

1.2.24

8 months ago

1.2.21

8 months ago

1.2.22

8 months ago

1.2.27

8 months ago

1.2.28

8 months ago

1.2.25

8 months ago

1.2.26

8 months ago

1.2.29

8 months ago

2.0.19

8 months ago

2.0.17

8 months ago

2.0.18

8 months ago

2.0.26

8 months ago

2.0.27

8 months ago

2.0.24

8 months ago

2.0.25

8 months ago

2.0.22

8 months ago

1.2.30

8 months ago

2.0.23

8 months ago

1.2.31

8 months ago

2.0.20

8 months ago

2.0.21

8 months ago

1.2.34

8 months ago

1.2.35

8 months ago

1.2.32

8 months ago

1.2.33

8 months ago

1.2.38

8 months ago

1.2.39

8 months ago

1.2.36

8 months ago

1.2.37

8 months ago

1.2.18

8 months ago

1.1.29

8 months ago

1.1.28

8 months ago

1.2.8

8 months ago

1.2.7

8 months ago

1.2.6

8 months ago

1.2.5

8 months ago

1.2.4

8 months ago

1.2.3

8 months ago

1.2.2

8 months ago

1.2.1

8 months ago

1.1.30

8 months ago

1.1.34

8 months ago

1.1.33

8 months ago

1.1.32

8 months ago

1.1.31

8 months ago

1.1.35

8 months ago

1.2.12

8 months ago

1.2.13

8 months ago

1.2.10

8 months ago

1.2.11

8 months ago

1.2.16

8 months ago

1.2.17

8 months ago

1.2.14

8 months ago

1.2.15

8 months ago

1.1.19

8 months ago

1.2.9

8 months ago

1.1.23

8 months ago

1.1.22

8 months ago

1.1.21

8 months ago

1.1.20

8 months ago

1.1.27

8 months ago

1.1.26

8 months ago

1.1.25

8 months ago

1.1.24

8 months ago

1.1.18

8 months ago

1.1.17

8 months ago

1.1.16

8 months ago

1.1.15

8 months ago

1.1.14

8 months ago

1.1.13

8 months ago

1.1.12

8 months ago

1.1.11

8 months ago

1.1.10

8 months ago

1.1.9

8 months ago

1.1.8

8 months ago

1.1.7

8 months ago

1.1.6

8 months ago

1.1.5

8 months ago

1.1.4

8 months ago

1.1.3

8 months ago

1.1.2

8 months ago

1.1.1

8 months ago

1.0.22

8 months ago

1.0.21

8 months ago

1.0.20

8 months ago

1.0.19

8 months ago

1.0.18

8 months ago

1.0.17

8 months ago

1.0.16

8 months ago

1.0.14

8 months ago

1.0.13

8 months ago

1.0.12

8 months ago

1.0.11

8 months ago

1.0.10

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago