npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2024 – Pkg Stats / Ryan Hefner

create-kontas

v1.2.2

Published

πŸš€ Super fast MongoDB & GraphQL API generator

Downloads

1,477

Readme

πŸš€ KONTAS - Koding Fantasi

KONTAS Stack adalah platform pengembangan modern dan super canggih yang dirancang khusus untuk mempercepat proses pengembangan API menggunakan MongoDB dan GraphQL. 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 dan segera hadir untuk Next.js serta Express REST.

3️⃣ GraphQL Otomatis

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

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 + Next.js (Akan hadir Januari 2025) ⏳
    • MongoDB + Express REST (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:

# Format dasar
npx kontas-cli <framework> <command>

# Contoh untuk framework MongoDB + Apollo GraphQL (mongajs):
# Tapi jika sudah create-kontas, maka tidak perlu lagi init
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

Keunggulan KONTAS CLI:

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

3️⃣ Struktur Proyek yang Dibuat KONTAS

Setelah memulai proyek, KONTAS secara otomatis akan menghasilkan struktur direktori berikut:

my-app/
  β”œβ”€ models/          # Definisi model database
  β”œβ”€ schemas/         # Schema GraphQL
  β”œβ”€ config/          # Konfigurasi database
  β”‚  └─ mongodb.json
  β”œβ”€ seeders/         # File seeder untuk database
  β”œβ”€ data/            # Contoh data dalam format JSON
  β”œβ”€ index.js         # Entry point aplikasi
  └─ package.json     # Informasi dependencies

Kelebihan struktur ini:

  • Modular dan terorganisasi.
  • Mudah diperluas untuk proyek besar.
  • Mendukung pengembangan berbasis tim.

4️⃣ 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

5️⃣ 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

Setelah menjalankan perintah di atas, KONTAS akan secara otomatis menghasilkan file berikut:

  • models/user.js
  • schemas/user.js
  • seeders/userSeeder.js
  • data/user.json
  • Update otomatis pada:
    • models/index.js
    • index.js
    • seeders/index.js

Jenis tipe data yang didukung:

  • string -> String
  • number -> Float
  • boolean -> Boolean
  • date -> Date
  • id -> ID
  • [type] -> Array (contoh: [String])

6️⃣ Contoh Model Kompleks

Berikut adalah contoh pembuatan model dengan kompleksitas lebih tinggi:

# Model User dengan banyak field
npx kontas-cli mongajs g User name:string email:string age:number isActive:boolean

# Model Product dengan array
npx kontas-cli mongajs g Product name:string price:number tags:[string]

# Model Order dengan relasi
npx kontas-cli mongajs g Order userId:id productId:id status:string

7️⃣ 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": "[email protected]",
        "age": 25
    }
]
  1. Jalankan salah satu perintah berikut:
npm run seed      # Reset database dan seed ulang data
npm run seed:up   # Menambahkan data baru saja
npm run seed:down # Membersihkan semua data di database

# JANGAN LUPA UNTUK HAPUS SEEDER JIKA SUDAH TIDAK DIBUTUHKAN

8️⃣ 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: "[email protected]"
        age: 25
    }) {
        _id
        name
    }
}

9️⃣ 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 g User name:string
npx kontas-cli mongajs g Product name:string

# 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
  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.


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