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.