gociwidey
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Development
  • Bisnis
No Result
View All Result
gociwidey
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Development
  • Bisnis
No Result
View All Result
gociwidey
No Result
View All Result
Home API

Cara Membuat API Sederhana dengan Laravel: Koneksikan Aplikasi Anda

Seraphina Moon by Seraphina Moon
November 4, 2025
in API, Aplikasi, Backend, Development, Laravel
0
Share on FacebookShare on Twitter

API (Application Programming Interface) telah menjadi tulang punggung banyak aplikasi modern. Mereka memungkinkan aplikasi yang berbeda untuk berkomunikasi dan bertukar data, menciptakan ekosistem yang saling terhubung. Jika Anda ingin menghubungkan aplikasi web, aplikasi mobile, atau sistem lain ke backend Anda, maka membuat API adalah langkah yang penting. Dalam artikel ini, kita akan membahas secara mendalam cara membuat API sederhana dengan Laravel, framework PHP yang populer dan kuat. Kita akan membahas langkah-langkahnya, dari persiapan lingkungan hingga pengujian endpoint API Anda. Bersiaplah untuk menghubungkan aplikasi Anda dengan mudah!

1. Persiapan Awal: Instalasi Laravel dan Konfigurasi Dasar

Sebelum kita melangkah lebih jauh, pastikan Anda telah memiliki lingkungan pengembangan yang siap. Ini berarti Anda perlu memiliki:

  • PHP: Versi 7.3 atau lebih tinggi direkomendasikan.
  • Composer: Dependency manager untuk PHP.
  • Database: MySQL, PostgreSQL, atau database lain yang didukung oleh Laravel.

Jika Anda belum memiliki Laravel, instal dengan Composer menggunakan perintah berikut:

composer create-project --prefer-dist laravel/laravel nama-proyek-api
cd nama-proyek-api

Ganti nama-proyek-api dengan nama proyek yang Anda inginkan.

Related Post

Laravel Tutorial: Panduan Lengkap untuk Pemula dan Tingkat Lanjut

November 30, 2025

Web Development Framework: Pilihan Terbaik untuk Proyek Anda

November 30, 2025

Laravel Livewire: Membuat Tampilan Interaktif dengan Mudah

November 30, 2025

Pembuatan Website: Estimasi Biaya dan Tips Terbaik untuk Keberhasilan Online Anda

November 30, 2025

Selanjutnya, konfigurasikan database Anda. Buka file .env di direktori proyek Anda dan sesuaikan pengaturan database sesuai dengan detail database Anda:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_anda
DB_USERNAME=nama_pengguna_database
DB_PASSWORD=password_database

Pastikan untuk menjalankan migrasi database untuk membuat tabel-tabel yang dibutuhkan. Secara default, Laravel sudah menyediakan tabel users. Anda dapat menjalankan perintah berikut:

php artisan migrate

Tahap ini sangat penting sebagai fondasi cara membuat API sederhana dengan Laravel. Tanpa konfigurasi yang benar, aplikasi Anda tidak akan berfungsi dengan baik.

2. Membuat Model dan Migrasi untuk Data Anda

Langkah selanjutnya adalah mendefinisikan struktur data yang akan dikelola oleh API kita. Katakanlah kita ingin membuat API untuk mengelola daftar tugas (todos). Kita perlu membuat model dan migrasi untuk tabel todos.

Gunakan perintah Artisan berikut untuk membuat model dan migrasi secara bersamaan:

php artisan make:model Todo -m

Ini akan membuat dua file:

  • app/Models/Todo.php (Model)
  • database/migrations/[timestamp]_create_todos_table.php (Migrasi)

Buka file migrasi dan definisikan skema tabel todos. Contohnya:

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateTodosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('todos', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('description')->nullable();
            $table->boolean('completed')->default(false);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('todos');
    }
}

Setelah mendefinisikan skema tabel, jalankan migrasi:

php artisan migrate

Sekarang, mari kita modifikasi model Todo.php. Kita perlu mendefinisikan fillable attributes, yaitu kolom-kolom yang boleh diisi melalui mass assignment.

<?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

class Todo extends Model
{
    use HasFactory;

    protected $fillable = [
        'title',
        'description',
        'completed',
    ];
}

Dengan model dan migrasi yang sudah siap, kita semakin mendekati tujuan utama: cara membuat API sederhana dengan Laravel yang fungsional.

3. Membuat Controller untuk Menangani Request API

Controller adalah inti dari API kita. Controller akan menerima request dari client, memprosesnya, berinteraksi dengan model, dan mengembalikan response.

Buat controller dengan perintah Artisan:

php artisan make:controller TodoController --resource

Opsi --resource akan membuat controller dengan method-method dasar untuk CRUD (Create, Read, Update, Delete).

Buka file app/Http/Controllers/TodoController.php. Anda akan melihat method-method berikut:

  • index(): Menampilkan daftar semua todos.
  • store(): Membuat todo baru.
  • show(): Menampilkan detail satu todo.
  • update(): Mengupdate todo yang sudah ada.
  • destroy(): Menghapus todo.

Mari kita implementasikan method-method ini.

index():

public function index()
{
    $todos = Todo::all();
    return response()->json($todos);
}

store():

public function store(Request $request)
{
    $request->validate([
        'title' => 'required|max:255',
    ]);

    $todo = Todo::create($request->all());

    return response()->json($todo, 201); // 201 Created
}

show():

public function show(Todo $todo)
{
    return response()->json($todo);
}

update():

public function update(Request $request, Todo $todo)
{
    $request->validate([
        'title' => 'required|max:255',
    ]);

    $todo->update($request->all());

    return response()->json($todo);
}

destroy():

public function destroy(Todo $todo)
{
    $todo->delete();

    return response()->json(null, 204); // 204 No Content
}

Perhatikan penggunaan response()->json() untuk mengembalikan data dalam format JSON. Kode status HTTP yang tepat juga penting untuk memberikan informasi yang jelas kepada client. Implementasi controller ini adalah langkah krusial dalam cara membuat API sederhana dengan Laravel.

4. Mendefinisikan Route API

Setelah controller siap, kita perlu mendefinisikan route yang akan menghubungkan URL dengan method controller yang sesuai. Buka file routes/api.php.

<?php

use AppHttpControllersTodoController;
use IlluminateHttpRequest;
use IlluminateSupportFacadesRoute;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

Route::resource('todos', TodoController::class);

Route::resource('todos', TodoController::class) akan membuat route-route berikut:

  • GET /api/todos: TodoController@index
  • POST /api/todos: TodoController@store
  • GET /api/todos/{todo}: TodoController@show
  • PUT /api/todos/{todo}: TodoController@update
  • DELETE /api/todos/{todo}: TodoController@destroy

Route yang terdefinisi dengan rapi adalah kunci untuk cara membuat API sederhana dengan Laravel yang mudah diakses.

5. Middleware untuk Autentikasi dan Otorisasi (Opsional)

Jika Anda ingin mengamankan API Anda, Anda dapat menggunakan middleware untuk autentikasi dan otorisasi. Laravel menyediakan berbagai middleware bawaan, dan Anda juga dapat membuat middleware kustom.

Contohnya, Anda dapat menggunakan middleware auth:sanctum untuk melindungi route-route API Anda. Pertama, pastikan Anda sudah menginstal Laravel Sanctum:

composer require laravel/sanctum
php artisan vendor:publish --provider="LaravelSanctumSanctumServiceProvider"
php artisan migrate

Kemudian, tambahkan auth:sanctum ke route API Anda:

Route::middleware('auth:sanctum')->group(function () {
    Route::resource('todos', TodoController::class);
});

Sekarang, hanya user yang terautentikasi yang dapat mengakses route-route API todos. Autentikasi dan otorisasi adalah bagian penting dalam cara membuat API sederhana dengan Laravel yang aman.

6. Validasi Input dan Menangani Error

Validasi input sangat penting untuk memastikan data yang masuk ke API Anda valid dan aman. Kita sudah menggunakan validasi di method store() dan update() di TodoController.

Selain validasi, kita juga perlu menangani error dengan baik. Misalnya, jika kita mencoba mencari todo dengan ID yang tidak ada, kita perlu mengembalikan response error yang sesuai.

public function show(Todo $todo)
{
    if (!$todo) {
        return response()->json(['message' => 'Todo not found'], 404);
    }

    return response()->json($todo);
}

Menangani error dengan baik membuat API Anda lebih robust dan mudah digunakan. Ini adalah elemen penting dari cara membuat API sederhana dengan Laravel yang profesional.

7. Pengujian API dengan Postman atau Insomnia

Setelah API Anda dibuat, penting untuk mengujinya untuk memastikan semuanya berfungsi dengan benar. Anda dapat menggunakan aplikasi seperti Postman atau Insomnia untuk mengirim request ke API Anda dan memeriksa response.

Berikut adalah beberapa contoh pengujian:

  • GET /api/todos: Memeriksa apakah API mengembalikan daftar semua todos.
  • POST /api/todos: Membuat todo baru dan memeriksa apakah berhasil dibuat.
  • GET /api/todos/{id}: Mengambil detail todo berdasarkan ID dan memeriksa apakah data yang dikembalikan benar.
  • PUT /api/todos/{id}: Mengupdate todo berdasarkan ID dan memeriksa apakah perubahan berhasil disimpan.
  • DELETE /api/todos/{id}: Menghapus todo berdasarkan ID dan memeriksa apakah todo berhasil dihapus.

Pengujian yang teliti adalah kunci untuk cara membuat API sederhana dengan Laravel yang bebas bug.

8. Dokumentasi API (Menggunakan Swagger/OpenAPI)

Dokumentasi API sangat penting untuk memudahkan developer lain menggunakan API Anda. Anda dapat menggunakan Swagger/OpenAPI untuk mendokumentasikan API Anda.

Ada beberapa package Laravel yang dapat membantu Anda menghasilkan dokumentasi Swagger/OpenAPI secara otomatis. Salah satunya adalah darkaonline/l5-swagger.

Instal package:

composer require darkaonline/l5-swagger

Konfigurasikan package:

php artisan vendor:publish --provider "L5SwaggerL5SwaggerServiceProvider"

Edit file config/l5-swagger.php untuk menyesuaikan konfigurasi.

Tambahkan anotasi Swagger/OpenAPI ke controller Anda. Contoh:

/**
 * @OAInfo(
 *      version="1.0.0",
 *      title="Todo API Documentation",
 *      description="Documentation for the Todo API",
 *      @OAContact(
 *          email="[email protected]"
 *      ),
 *      @OALicense(
 *          name="MIT",
 *          url="https://opensource.org/licenses/MIT"
 *      )
 * )
 */

/**
 * @OAGet(
 *      path="/api/todos",
 *      operationId="getTodos",
 *      tags={"Todos"},
 *      summary="Get list of todos",
 *      description="Returns list of todos",
 *      @OAResponse(
 *          response=200,
 *          description="Successful operation"
 *       ),
 *      @OAResponse(
 *          response=400,
 *          description="Bad Request"
 *      ),
 *      @OAResponse(
 *          response=404,
 *          description="Resource Not Found"
 *      )
 * )
 */
public function index()
{
    $todos = Todo::all();
    return response()->json($todos);
}

Jalankan perintah untuk menghasilkan dokumentasi:

php artisan l5-swagger:generate

Anda dapat mengakses dokumentasi API Anda melalui URL /api/documentation.

Dokumentasi yang lengkap adalah elemen krusial dalam cara membuat API sederhana dengan Laravel yang mudah diadopsi oleh developer lain.

9. Rate Limiting untuk Mencegah Penyalahgunaan API

Rate limiting membatasi jumlah request yang dapat dibuat oleh client dalam jangka waktu tertentu. Ini membantu mencegah penyalahgunaan API, seperti serangan DDoS.

Laravel menyediakan middleware throttle untuk menerapkan rate limiting. Anda dapat menambahkan middleware ini ke route API Anda.

Route::middleware('throttle:60,1')->group(function () {
    Route::resource('todos', TodoController::class);
});

throttle:60,1 berarti client hanya dapat membuat 60 request per menit. Rate limiting merupakan aspek penting dalam cara membuat API sederhana dengan Laravel yang aman dan stabil.

10. Optimasi Performa API

Setelah API Anda berfungsi, Anda dapat mengoptimalkan performanya. Beberapa cara untuk mengoptimalkan performa API:

  • Caching: Gunakan caching untuk menyimpan data yang sering diakses.
  • Database Optimization: Optimalkan query database Anda.
  • Eager Loading: Gunakan eager loading untuk mengurangi jumlah query database.
  • Queues: Gunakan queues untuk memproses tugas-tugas yang memakan waktu di background.

Optimasi performa adalah langkah penting untuk cara membuat API sederhana dengan Laravel yang responsif dan efisien.

Kesimpulan

Dalam artikel ini, kita telah membahas secara mendalam cara membuat API sederhana dengan Laravel. Kita telah membahas langkah-langkahnya, dari persiapan lingkungan hingga pengujian endpoint API. Dengan mengikuti langkah-langkah ini, Anda dapat membuat API yang kuat, aman, dan mudah digunakan. Selamat mencoba dan hubungkan aplikasi Anda ke dunia luar! Ingatlah untuk selalu mempertimbangkan keamanan, dokumentasi, dan performa saat membangun API Anda.

Tags: APIApplication ConnectionbackendDevelopmentLaravelPHPREST APISimple APItutorialweb development
Seraphina Moon

Seraphina Moon

Related Posts

Laravel

Laravel Tutorial: Panduan Lengkap untuk Pemula dan Tingkat Lanjut

by Willow Grey
November 30, 2025
Development

Web Development Framework: Pilihan Terbaik untuk Proyek Anda

by Jasper Blackwood
November 30, 2025
Development

Laravel Livewire: Membuat Tampilan Interaktif dengan Mudah

by Atticus Finch
November 30, 2025
Next Post

Laravel Eloquent Relationship Tutorial Bahasa Indonesia: Hubungan Antar Tabel

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recommended

Harga Jasa Pembuatan Website E-Commerce di Jakarta: Investasi Terbaik untuk Bisnis

May 29, 2025

Template Admin Laravel Gratis Terbaik: Dashboard Keren Tanpa Biaya

August 24, 2025

Jasa Web Development Profesional di Jakarta: Solusi Website Impian Anda

November 2, 2025

Fitur Penting yang Harus Ada di Software CRM: Maksimalkan Manfaat untuk Bisnis

October 20, 2025

Hosting SSD Tercepat untuk Website Toko Online Indonesia: Tingkatkan Penjualan!

December 15, 2025

Hosting WordPress dengan Dukungan Teknis 24 Jam Indonesia: Bebas Khawatir!

December 15, 2025

Hosting Unlimited Bandwidth dan Disk Space Indonesia: Solusi Tepat untuk Website Anda

December 14, 2025

Hosting Murah Terbaik untuk Blog Pribadi Indonesia: Panduan Lengkap 2024

December 14, 2025

gociwidey

Our media platform offers reliable news and insightful articles. Stay informed with our comprehensive coverage and in-depth analysis on various topics.
Read more »

Recent Posts

  • Hosting SSD Tercepat untuk Website Toko Online Indonesia: Tingkatkan Penjualan!
  • Hosting WordPress dengan Dukungan Teknis 24 Jam Indonesia: Bebas Khawatir!
  • Hosting Unlimited Bandwidth dan Disk Space Indonesia: Solusi Tepat untuk Website Anda

Categories

  • Admin
  • Adopsi
  • Afiliasi
  • Agency
  • AI
  • Akses
  • Aktif
  • Akuntansi
  • Akurat
  • Alasan
  • Algoritma
  • Alternatif
  • Aman
  • Analisis
  • Analytics
  • Andal
  • Android
  • Animasi
  • Anti
  • API
  • Aplikasi
  • Arsitektur
  • Artikel
  • Artisan
  • Asset
  • Authentication
  • Authorization
  • Back-End
  • Backend
  • Background
  • Backup
  • Bahasa
  • Bandwidth
  • Based on the article title "Cara Menggunakan Vue.js dengan Laravel: Membuat Interface Interaktif"
  • Batasan
  • Belajar
  • Berbagi
  • Berbayar
  • Best Practices
  • Biaya
  • Bisnis
  • Blade
  • Blog
  • Bootstrap
  • Brand
  • Budget
  • Bukti
  • Bulanan
  • CDN
  • Cepat
  • Chatbot
  • ChatGPT
  • Cloud
  • Coding
  • Command Line
  • Company Profile
  • Complete
  • Composer
  • Contoh
  • cPanel
  • CRM
  • CRUD
  • CSS
  • Custom
  • Customer Service
  • Dampak
  • Dasar
  • Dashboard
  • Data
  • Database
  • Debugging
  • Dedicated Server
  • Dependency
  • Deployment
  • Desain
  • Deteksi
  • Developer
  • Development
  • Diagnosis
  • Digital
  • Digital Marketing
  • Digitalisasi
  • Disk Space
  • Diskon
  • Diskusi
  • Dokumentasi
  • Domain
  • Download
  • Downtime
  • Dukungan
  • E-Commerce
  • Edit
  • Efektivitas
  • Efisiensi
  • Ekonomis
  • Eloquent
  • Email
  • Engagement
  • Enterprise
  • Error
  • Error generating categories
  • Estimasi
  • Etika
  • Events
  • Excel
  • Extension
  • Filesystem
  • Fitur
  • Fleksibilitas
  • Form
  • Forum
  • Foto
  • Framework
  • Freelance
  • Front-End
  • Full-Stack
  • Fungsi
  • Fungsionalitas
  • Gambar
  • Game
  • Garansi
  • Gateway
  • Git
  • Google
  • Gratis
  • Hacker
  • Harga
  • Hemat
  • Here are 5 categories based on the article title "Harga Software CRM dan Biaya Implementasi: Investasi yang Tepat untuk Bisnis Anda": CRM
  • Here are 5 categories based on the article title "Hosting Indonesia Murah dengan Fitur Lengkap: Solusi Tepat untuk Bisnismu": Hosting
  • Here are 5 categories based on the provided title: Hosting
  • Here are 5 categories based on the provided title: Rekomendasi Hosting Murah untuk Toko Online dengan Bandwidth Besar: Sukseskan Bisnismu! Hosting
  • Here are 5 categories based on the title "Tips Optimasi Performa Aplikasi Laravel agar Lebih Cepat: Website Anti Lemot": **Laravel
  • here are 5 categories: Laravel
  • Hosting
  • HTML
  • Hubungan
  • Ide
  • Iklan
  • Implementasi
  • Implikasi
  • Indonesia
  • Industri
  • Informasi
  • Inovasi
  • Input
  • Insight
  • Inspirasi
  • Instalasi
  • Install
  • Integrasi
  • Interaktif
  • Interface
  • Interview
  • Investasi
  • Jakarta
  • Jasa
  • JavaScript
  • Joomla
  • Kampanye
  • Kapasitas
  • Karier
  • Karir
  • Karyawan
  • Keamanan
  • Kebutuhan
  • Kecepatan
  • Kehidupan
  • Kekurangan
  • Kelebihan
  • Kemudahan
  • Kepuasan
  • Kerja
  • Kesehatan
  • Keuangan
  • Keunggulan
  • Keuntungan
  • Kode
  • Kompleks
  • Komunikasi
  • Komunitas
  • Konfigurasi
  • Konsep
  • Konsultan
  • Konten
  • Kontrol
  • Konversi
  • Kreatif
  • Kualitas
  • Kursus
  • Langkah
  • Laporan
  • Laravel
  • Layanan
  • Lengkap
  • Lingkungan
  • Linux
  • Livewire
  • Logika
  • Logistik
  • Logo
  • Lokal
  • Loyalitas
  • Mac
  • Machine Learning
  • Mahasiswa
  • Mahir
  • Maintenance
  • Management
  • Manajemen
  • Manfaat
  • Marketing
  • Masa Depan
  • Masyarakat
  • Media Sosial
  • Mesin Pencari
  • Middleware
  • Migrasi
  • Migration
  • Mitos
  • Mobile
  • Mobilitas
  • Model
  • Modern
  • Monitoring
  • Mudah
  • Murah
  • MySQL
  • Nilai
  • OAuth2
  • Online
  • Open Source
  • Opini
  • Optimal
  • Optimasi
  • ORM
  • Otomatis
  • Otomatisasi
  • Otorisasi
  • Output
  • Package
  • Panduan
  • Payment
  • PDF
  • Pekerjaan
  • Pelanggan
  • Pelatihan
  • Peluang
  • Pemahaman
  • Pemanfaatan
  • Pemasaran
  • Pembandingan
  • Pembelajaran
  • Pembuatan
  • Pemesanan
  • Pemilihan
  • Pemrograman
  • Pemula
  • Pemulihan
  • Pendidikan
  • Penerapan
  • Pengalaman
  • Pengambilan Keputusan
  • Pengembangan
  • Pengenalan
  • Pengertian
  • Pengguna
  • Penggunaan
  • Penghasilan
  • Pengobatan
  • Pengolahan
  • Pengujian
  • Peningkatan
  • Penipuan
  • Penjelasan
  • Penjualan
  • Penyimpanan
  • Peran
  • Perangkat
  • Perbandingan
  • Performa
  • Performance
  • Perkembangan
  • Personalisasi
  • Pertanian
  • Pertimbangan
  • Pertumbuhan
  • Perusahaan
  • Petani
  • PHP
  • Pilihan
  • Plagiarisme
  • Platform
  • Plugin
  • Pondasi
  • Portofolio
  • Potensi
  • Praktis
  • Prediksi
  • Premium
  • Presentasi
  • Pribadi
  • Produktivitas
  • Profesional
  • Profitabilitas
  • Programmer
  • Project
  • Promo
  • Proses
  • Proteksi
  • Proyek
  • Python
  • Queues
  • Ranking
  • React
  • Realita
  • Redis
  • Referensi
  • Rekomendasi
  • Relationship
  • Reputasi
  • Responsif
  • Responsive
  • RESTful
  • Restoran
  • Retail
  • Retensi
  • Review
  • Risiko
  • ROI
  • Saham
  • Sales
  • Scheduler
  • Search
  • Sederhana
  • Seeder
  • Sehari-hari
  • Selamanya
  • SEO
  • Sertifikasi
  • Server
  • Sinkronisasi
  • Sistem
  • Sistem Operasi
  • Siswa
  • Skalabilitas
  • Skill
  • Software
  • Solusi
  • Sosial
  • Space Disk
  • Spesifikasi
  • SSD
  • SSL
  • Stabil
  • Staging
  • Startup
  • Step-by-Step
  • Storage
  • Strategi
  • Studi Kasus
  • Subdomain
  • Sukses
  • Sumber Daya
  • Support
  • Surabaya
  • Syarat
  • Tahapan
  • Tambahan
  • Tampilan
  • Tanggung Jawab
  • Tantangan
  • Target
  • Teknis
  • Teknologi
  • Teks
  • Template
  • Templating
  • Terbaik
  • Terbaru
  • Terjangkau
  • Terjemahan
  • Terpercaya
  • Testimoni
  • Testing
  • Tim
  • Tingkat Lanjut
  • Tips
  • Toko Online
  • Tools
  • Traffic
  • Training
  • Transaksi
  • Tren
  • Trik
  • Troubleshooting
  • Tugas
  • Tutorial
  • UKM
  • UMKM
  • Undangan
  • Unlimited
  • Upgrade
  • Upload
  • Uptime
  • User
  • User-Friendly
  • Validasi
  • Video
  • Visual
  • VPS
  • Vue.js
  • Waktu
  • Web
  • Web Development
  • Website
  • WhatsApp
  • Windows
  • WordPress
  • XAMPP

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 gociwidey.

No Result
View All Result
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Development
  • Bisnis

© 2024 gociwidey.