-
Quản lý Kỷ niệm (CRUD): Cho phép người dùng ghim (thêm) các địa điểm cá nhân lên bản đồ, kèm theo tên, mô tả, danh mục (ví dụ: Ưa thích, Muốn đến) và tải lên nhiều hình ảnh. Người dùng cũng có thể xem chi tiết, sửa đổi thông tin, hoặc xóa các Kỷ niệm đã lưu (máy chủ sẽ tự động xóa các tệp ảnh liên quan).
-
Tìm kiếm Đa năng: Cung cấp một thanh tìm kiếm cho phép tìm kiếm đồng thời trong các Kỷ niệm đã lưu của người dùng và các địa điểm công cộng (thông qua API Nominatim).
-
Khám phá theo Danh mục: Cung cấp các nút "chip" (như Nhà hàng, Khách sạn, ATM) để tìm kiếm nhanh các địa điểm tiện ích trong khu vực bản đồ đang xem.
-
Chỉ đường (Routing): Tích hợp chức năng tìm đường đi, cho phép người dùng chọn điểm bắt đầu/kết thúc (bằng cách nhấn bản đồ hoặc tìm kiếm) và chọn phương thức di chuyển (ô tô, xe đạp, đi bộ).
-
Tiện ích Bản đồ: Bao gồm nút "Vị trí của tôi" để zoom đến vị trí hiện tại của người dùng và khả năng chuyển đổi giữa hai lớp bản đồ (Đường phố và Vệ tinh).
-
Chia sẻ: Cho phép người dùng tạo và sao chép liên kết (URL) để chia sẻ một Kỷ niệm cụ thể hoặc một tọa độ bất kỳ.
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Để chạy dự án này trên máy cục bộ (local machine), bạn cần có Node.js và npm (hoặc yarn) đã được cài đặt.
1. Tải và Giải nén: Tải xuống hoặc clone tất cả các tệp (server.js, thư mục public bao gồm index.html, client.js, style.css và thư mục uploads rỗng) vào một thư mục dự án.
2. Cài đặt các gói phụ thuộc (Dependencies): Mở terminal hoặc command prompt trong thư mục gốc của dự án và chạy lệnh sau để cài đặt các thư viện Node.js cần thiết (Express, SQLite3, Multer):
3. Khởi tạo Cơ sở dữ liệu (Database): Không cần bước riêng. Khi bạn chạy máy chủ lần đầu tiên, server.js sẽ tự động tạo tệp cơ sở dữ liệu map.db và bảng locations nếu chúng chưa tồn tại.
4. Chạy Máy chủ (Server): Trong cùng terminal, chạy lệnh sau:
Bạn sẽ thấy thông báo trong terminal:
5. Truy cập Ứng dụng: Mở trình duyệt web của bạn và truy cập vào địa chỉ: http://localhost:3000
Bạn sẽ thấy bản đồ và có thể bắt đầu sử dụng các tính năng.