Giới thiệu
Trong bối cảnh làm việc từ xa và quản lý công việc ngày càng phổ biến, việc có một công cụ quản lý dự án hiệu quả là điều cần thiết. Supabase – một nền tảng backend mã nguồn mở – kết hợp với Tailwind CSS – một framework CSS hiện đại – tạo thành bộ đôi mạnh mẽ để xây dựng ứng dụng quản lý dự án nhanh chóng và linh hoạt. Bài viết này sẽ hướng dẫn từng bước để tạo ra một ứng dụng quản lý dự án hoàn chỉnh, từ thiết lập cơ sở dữ liệu đến giao diện trực quan.
Chuẩn bị môi trường
Trước khi bắt đầu, cần đảm bảo đã cài đặt Node.js và npm trên máy. Tiếp theo, tạo một dự án mới với lệnh npx create-next-app@latest project-manager và chọn các tùy chọn phù hợp. Sau khi dự án được khởi tạo, thêm Supabase và Tailwind CSS vào dự án bằng cách chạy npm install @supabase/supabase-js tailwindcss và cấu hình Tailwind CSS theo tài liệu chính thức.
Thiết lập Supabase
Truy cập vào dashboard của Supabase, tạo một project mới và lưu lại URL cùng key API. Trong dự án Next.js, tạo một file lib/supabase.js để khởi tạo client:
import { createClient } from '@supabase/supabase-js';
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL;
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
export const supabase = createClient(supabaseUrl, supabaseKey);
Thiết lập bảng trong Supabase: một bảng projects với các cột id, name, description, status, created_at, và một bảng tasks với id, project_id, title, status, due_date. Sử dụng SQL hoặc GUI của Supabase để tạo các bảng này.
Xây dựng giao diện với Tailwind CSS
Tạo layout chính với header, sidebar, và content area. Sử dụng các utility class của Tailwind để styling nhanh chóng:
<header className="bg-blue-600 text-white p-4 shadow-lg">
<h1 className="text-2xl font-bold">Project Manager</h1>
</header>
<aside className="w-64 bg-gray-100 p-4">
<h2 className="text-lg font-semibold mb-4">Projects</h2>
<!-- Danh sách dự án -->
</aside>
<main className="flex-1 p-6">
<!-- Nội dung chính -->
</main>