Đây là một ứng dụng quản lý ghi chú cá nhân đơn giản được xây dựng bằng Next.js, tập trung vào việc thực hành các kiến thức cơ bản về Hooks, Props, Context API và LocalStorage trong môi trường App Router.
- Họ và tên: Trần Trường Thuận
- Mã số sinh viên (MSSV): N23DCCN060
- Học phần: Thực hành Lập trình Web
Ứng dụng hoàn thành đầy đủ các yêu cầu của bài tập thực hành:
- Quản lý ghi chú: Thêm ghi chú mới và xóa các ghi chú hiện có (
useState). - Thống kê: Đếm và hiển thị tổng số lượng ghi chú ngay trên Header (
props). - Chế độ giao diện: Hỗ trợ chuyển đổi linh hoạt giữa Dark Mode và Light Mode (
ThemeContext.jsvớiContext API). - Lưu trữ dữ liệu: Tự động lưu và khôi phục dữ liệu ghi chú khi tải lại trang (
useEffect+localStorage).
- Framework: Next.js (App Router)
- Styling: CSS Modules (
.module.csscho từng component) và Global CSS. - Quản lý trạng thái: React Hooks (
useState,useEffect,useContext) - Lưu trữ: Web Storage API (LocalStorage)
app/: Chứa filepage.js(trang chủ) vàlayout.js(layout tổng).components/: Chứa các thành phần UI độc lập:Header.js: Thanh điều hướng, chứa bộ đếm ghi chú và nút chuyển đổi theme.NoteInput.js: Ô nhập liệu và nút thêm ghi chú.NoteList.js&NoteItem.js: Danh sách và từng phần tử ghi chú hiển thị.
context/:ThemeContext.js: Cung cấp state về giao diện (Sáng/Tối) cho toàn bộ ứng dụng.
- Clone project:
git clone <link-repo-cua-ban> cd <ten-thu-muc-project>
- Cài đặt thư viện:
npm install
- Chạy ứng dụng ở môi trường development:
Ứng dụng sẽ chạy tại địa chỉ: http://localhost:3000
npm start