Kursus: Membuat Website dari Nol

Membuat Proyek Mini dengan Framework

Setelah memahami dasar-dasar framework seperti Bootstrap, Tailwind CSS, atau React.js/Vue.js, saatnya mengaplikasikan pengetahuan tersebut dalam sebuah proyek mini. Proyek ini akan membantu memahami cara kerja framework secara langsung dan bagaimana menggunakannya dalam pengembangan website yang nyata.

1. Menentukan Proyek

Pilih proyek sederhana namun mencakup berbagai fitur penting. Contoh proyek mini:

  • Landing Page menggunakan Bootstrap atau Tailwind CSS
  • To-Do List App dengan React.js atau Vue.js
  • Portfolio Website menggunakan framework pilihan

2. Membuat Struktur Proyek

Buat folder proyek dan atur strukturnya. Jika menggunakan React.js atau Vue.js, gunakan perintah:

  • React.js: npx create-react-app my-project
  • Vue.js: npm create vue@latest my-project

Untuk proyek berbasis CSS framework seperti Bootstrap atau Tailwind CSS, cukup buat file HTML dan hubungkan dengan framework.

3. Mengimplementasikan Fitur Utama

Beberapa fitur yang bisa dimasukkan dalam proyek:

  • Tata letak responsif dengan Bootstrap Grid atau Tailwind Flexbox
  • Navigasi dinamis dengan JavaScript atau Router dalam React/Vue
  • Interaksi pengguna seperti form, modal, dan animasi ringan
  • Menghubungkan ke API (jika proyek memerlukan data dinamis)

4. Testing dan Debugging

  • Gunakan DevTools pada browser untuk mengecek tampilan dan error
  • Pastikan tampilan responsif pada berbagai ukuran layar
  • Jika menggunakan React/Vue, cek error di konsol dan pastikan state management berjalan dengan baik

5. Deploy Proyek

Setelah proyek selesai, bisa langsung di-deploy:

  • GitHub Pages untuk proyek berbasis HTML/CSS/JS
  • Netlify/Vercel untuk proyek React.js/Vue.js
  • Firebase Hosting jika membutuhkan backend ringan

Dengan menyelesaikan proyek mini ini, Anda akan lebih percaya diri dalam menggunakan framework pilihan dan siap untuk proyek yang lebih besar.


Contoh Proyek Mini dengan Framework

Proyek: To-Do List App dengan React.js

Aplikasi ini memungkinkan pengguna menambahkan, menandai sebagai selesai, dan menghapus daftar tugas.

1. Persiapan Proyek

Buat proyek React dengan perintah:

npx create-react-app todo-app
cd todo-app
npm start

2. Struktur Folder

todo-app/
│── src/
│   ├── components/
│   │   ├── TodoForm.js
│   │   ├── TodoItem.js
│   ├── App.js
│   ├── index.js
│── public/
│── package.json

3. Membuat Komponen

TodoForm.js (Form Input Tugas Baru)
import { useState } from "react";

const TodoForm = ({ addTodo }) => {
  const [task, setTask] = useState("");

  const handleSubmit = (e) => {
    e.preventDefault();
    if (!task.trim()) return;
    addTodo(task);
    setTask("");
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        value={task}
        onChange={(e) => setTask(e.target.value)}
        placeholder="Tambah tugas..."
      />
      <button type="submit">Tambah</button>
    </form>
  );
};

export default TodoForm;
TodoItem.js (Menampilkan Setiap Tugas)
const TodoItem = ({ todo, toggleComplete, deleteTodo }) => {
  return (
    <div>
      <input
        type="checkbox"
        checked={todo.completed}
        onChange={() => toggleComplete(todo.id)}
      />
      <span style={{ textDecoration: todo.completed ? "line-through" : "none" }}>
        {todo.task}
      </span>
      <button onClick={() => deleteTodo(todo.id)}>Hapus</button>
    </div>
  );
};

export default TodoItem;
App.js (Mengatur Logika dan Menampilkan Komponen)
import { useState } from "react";
import TodoForm from "./components/TodoForm";
import TodoItem from "./components/TodoItem";

const App = () => {
  const [todos, setTodos] = useState([]);

  const addTodo = (task) => {
    setTodos([...todos, { id: Date.now(), task, completed: false }]);
  };

  const toggleComplete = (id) => {
    setTodos(
      todos.map((todo) =>
        todo.id === id ? { ...todo, completed: !todo.completed } : todo
      )
    );
  };

  const deleteTodo = (id) => {
    setTodos(todos.filter((todo) => todo.id !== id));
  };

  return (
    <div>
      <h1>To-Do List</h1>
      <TodoForm addTodo={addTodo} />
      {todos.map((todo) => (
        <TodoItem
          key={todo.id}
          todo={todo}
          toggleComplete={toggleComplete}
          deleteTodo={deleteTodo}
        />
      ))}
    </div>
  );
};

export default App;

4. Menjalankan Aplikasi

Jalankan aplikasi dengan:

npm start

Sekarang, Anda punya aplikasi To-Do List sederhana yang dibuat menggunakan React.js!

Let's Chat!