Những bài học rút ra khi xây dựng POS Lite

Tôi đã hoàn thành việc xây dựng POS Lite, một hệ thống điểm bán hàng (point of sale) full-stack dành cho các doanh nghiệp nhỏ. Trước đó, tôi đã chia sẻ về kiến trúc và cách triển khai. Giờ đây, tôi muốn chia sẻ những gì mình đã học được.

Xây dựng một dự án thực tế rất khác so với việc làm theo hướng dẫn (tutorial). Các bài hướng dẫn sẽ đưa ra quyết định thay cho bạn. Còn các dự án thực tế buộc bạn phải tự đưa ra lựa chọn.

Bạn phải quyết định:

Dưới đây là những đúc kết chính của tôi:

  1. Sự cầu toàn sẽ làm bạn chậm lại Đừng chờ đợi một kiến trúc hay giao diện (UI) hoàn hảo. Hãy bắt đầu với một phiên bản có thể hoạt động được. Sau đó cải thiện từng bước một. Ví dụ, hãy làm cho module sản phẩm hoạt động trước. Sau đó thêm phần kiểm tra dữ liệu (validation). Tiếp theo là kết nối kho hàng (inventory). Những chiến thắng nhỏ sẽ dẫn đến một sản phẩm hoàn chỉnh.

  2. Cấu trúc đóng vai trò quan trọng khi dự án phát triển Một backend nhỏ thì dễ quản lý. Nhưng một backend lớn cần sự tổ chức. Tôi đã sử dụng cấu trúc phân lớp (layered structure) để giữ mọi thứ ngăn nắp:

  1. Xác thực (Authentication) rất phức tạp Xác thực không chỉ đơn thuần là một biểu mẫu đăng nhập. Nó bao gồm việc xác thực thông tin đăng nhập, tạo token, bảo vệ các tuyến đường (routes) và quản lý quyền truy cập của người dùng. Việc sử dụng JWT đã giúp tôi thấy được bảo mật kết nối frontend với backend như thế nào.

  2. UX là về tính hữu dụng Frontend không chỉ là về vẻ bề ngoài. Người dùng cần tìm kiếm sản phẩm, xử lý bán hàng và xem báo cáo một cách nhanh chóng. Một giao diện thực dụng sẽ tốt hơn một giao diện đẹp mắt.

  3. Triển khai (Deployment) là một công việc kỹ thuật Việc chuyển từ môi trường phát triển cục bộ (local) lên đám mây (cloud) sẽ làm lộ ra những vấn đề mới. Bạn sẽ gặp phải lỗi CORS, các vấn đề về biến môi trường (environment variables) và các tác vụ thiết lập DNS. Triển khai không phải là bước cuối cùng. Nó là một phần cốt lõi của quy trình.

  4. Sai lầm là những bài học Những lỗi nhỏ dạy cho ta những bài học lớn. Một biến môi trường bị thiếu hoặc một cổng (port) sai có thể làm hỏng mọi thứ. Những lỗi (bugs) này đã dạy tôi cách gỡ lỗi (debug) cẩn thận hơn.

Lời khuyên của tôi cho dự án của chính bạn:

Một dự án đã hoàn thành và được triển khai sẽ dạy cho bạn nhiều điều hơn là một ý tưởng hoàn hảo nhưng chưa bao giờ hoàn thành.

Nguồn: https://dev.to/guadalupe182/lessons-learned-building-pos-lite-from-idea-to-full-stack-application-471h