Belajar Express JS | 10. Refactor mendapatkan semua data books menggunakan MVC pattern
Jika Anda telah mempelajari bagaimana membuat aplikasi web dengan Express JS, Anda akan tahu bahwa mengelola data dapat menjadi tugas yang rumit. Dalam tutorial ini, kita akan belajar bagaimana menggunakan MVC pattern untuk mendapatkan semua data books dari database.
Model-View-Controller (MVC) adalah pola desain perangkat lunak yang memisahkan aplikasi menjadi tiga komponen yaitu Model, View, dan Controller. Dengan menggunakan pola ini, kita dapat dengan mudah mengatur kode kita dan memastikan bahwa aplikasi kita mudah untuk diatur dan dimaintain.
Pertama-tama, kita akan membuat model untuk data books. Buatlah file `bookModel.js` dan tambahkan kode berikut:
“`javascript
const mongoose = require(‘mongoose’);
const bookSchema = new mongoose.Schema({
title: String,
author: String,
genre: String
});
const Book = mongoose.model(‘Book’, bookSchema);
module.exports = Book;
“`
Setelah kita memiliki model untuk data books, kita dapat membuat controller untuk mengelola data tersebut. Buatlah file `bookController.js` dan tambahkan kode berikut:
“`javascript
const Book = require(‘./bookModel’);
exports.getAllBooks = async (req, res) => {
try {
const books = await Book.find();
res.status(200).json(books);
} catch (error) {
res.status(500).json({ message: error.message });
}
};
“`
Setelah itu, kita perlu membuat view untuk menampilkan data books. Di sini kita akan menggunakan framework templating seperti Handlebars atau EJS untuk memudahkan pengaturan tampilan. Buatlah file `books.ejs` dan tambahkan kode berikut:
“`html
List of Books
-
{ %>
- by
“`
Terakhir, kita perlu mengatur rute untuk menampilkan data books. Di dalam file `app.js`, tambahkan kode berikut:
“`javascript
const express = require(‘express’);
const app = express();
const bookController = require(‘./bookController’);
app.get(‘/books’, bookController.getAllBooks);
“`
Dengan menggunakan MVC pattern, kita telah berhasil mengelola data books dengan lebih terstruktur dan terorganisir. Hal ini akan memudahkan kita dalam mengatur dan memaintain kode kita. Jadi, cobalah untuk menerapkan MVC pattern dalam aplikasi web Anda untuk hasil yang lebih baik!
Thank you so muchh!!
Terima kasih dan semangat mass🥳