Book your free demo

Discover how our product can simplify your workflow. Schedule a free, no-obligation demo today.

    Social Media:

    ilustrasi pembuatan url shortener dengan node js dan sistem redirect link di server

    Cara Membuat URL Shortener dengan Node.js dari Nol

    URL shortener adalah salah satu aplikasi sederhana namun sangat berguna dalam dunia web. Fungsinya adalah mengubah URL panjang menjadi link yang lebih pendek dan mudah dibagikan. Selain terlihat lebih rapi, URL shortener juga sering digunakan untuk tracking, branding, hingga sistem redirect dalam berbagai kebutuhan digital.

    Dengan menggunakan Node.js, URL shortener bisa dibuat dengan cepat dan efisien karena sifatnya yang ringan dan cocok untuk aplikasi berbasis server. Artikel ini akan membahas cara membuat URL shortener sederhana yang bisa menyimpan link dan melakukan redirect secara otomatis.

    Persiapan Project

    Langkah pertama adalah membuat project Node.js dan menginstall dependency yang dibutuhkan.

    
    mkdir url-shortener
    cd url-shortener
    npm init -y
    npm install express mongoose shortid
    

    Penjelasan:
    – express digunakan untuk server
    – mongoose untuk koneksi database MongoDB
    – shortid untuk generate kode pendek

    Membuat Server dengan Express

    Buat file utama misalnya index.js dan isi dengan kode berikut:

    
    const express = require('express');
    const mongoose = require('mongoose');
    
    const app = express();
    app.use(express.json());
    
    mongoose.connect('mongodb://localhost/urlshortener', {
      useNewUrlParser: true,
      useUnifiedTopology: true
    });
    
    app.listen(3000, () => {
      console.log('Server berjalan di port 3000');
    });
    

    Server ini akan menjadi dasar untuk menerima request dan mengelola data URL.

    Membuat Schema Database

    Buat schema untuk menyimpan URL:

    
    const mongoose = require('mongoose');
    
    const urlSchema = new mongoose.Schema({
      originalUrl: String,
      shortCode: String
    });
    
    module.exports = mongoose.model('Url', urlSchema);
    

    Schema ini digunakan untuk menyimpan URL asli dan versi pendeknya.

    Membuat Endpoint untuk Generate URL

    Tambahkan route untuk membuat URL pendek:

    
    const shortid = require('shortid');
    const Url = require('./models/Url');
    
    app.post('/shorten', async (req, res) => {
      const { originalUrl } = req.body;
    
      const shortCode = shortid.generate();
    
      const newUrl = new Url({
        originalUrl,
        shortCode
      });
    
      await newUrl.save();
    
      res.json({
        shortUrl: `http://localhost:3000/${shortCode}`
      });
    });
    

    Endpoint ini akan menerima URL panjang dan mengubahnya menjadi URL pendek.

    Membuat Redirect URL

    Tambahkan route untuk redirect:

    
    app.get('/:code', async (req, res) => {
      const { code } = req.params;
    
      const url = await Url.findOne({ shortCode: code });
    
      if (url) {
        return res.redirect(url.originalUrl);
      } else {
        return res.status(404).send('URL tidak ditemukan');
      }
    });
    

    Ketika URL pendek diakses, sistem akan otomatis mengarahkan ke URL asli.

    Pengembangan Lebih Lanjut

    Project ini bisa dikembangkan lebih jauh dengan menambahkan fitur seperti:
    – tracking jumlah klik
    – custom URL
    – expired link
    – sistem user login

    Selain itu, penting juga untuk mempertimbangkan aspek keamanan seperti validasi URL agar tidak digunakan untuk tujuan berbahaya.

    Hubungi Kami

    Jika membutuhkan pengembangan sistem berbasis web, API, atau aplikasi custom dengan keamanan yang terstruktur, penanganan yang tepat akan membantu membangun sistem yang stabil dan siap digunakan.

    Hubungi Kami melalui kontak resmi.

    Admin

    PT. Siber Shop Teknologi Indonesia

    Leave a comment

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