truonganhhoang/INT2208-8-2019

Là một người dùng, tôi muốn có một tài khoản để tôi có thể chơi trò chơi đố vui và xem hồ sơ của tôi (Lý Minh Nghĩa)

Closed this issue · 0 comments

1. Đảm bảo tiêu chí INVEST:

  • Independent: Tạo cơ sở dữ liệu, trang đăng nhập, đăng kí, thông tin cá nhân của người dùng cơ bản độc lập với các tính năng khác.

  • Negotiable: Tính năng có thể đàm phán được. Nhóm phát triển có thể dựa vào yêu cầu của người dùng phát triển tính năng cho phù hợp, dễ dàng thay đổi trong tương lai.

  • Valuable: Có giá trị với người dùng. Với tài khoản có thông tin cá nhân của riêng biệt người dùng có thể có thông tin cá nhân của riêng mình và dễ dàng phân biệt được với các người dùng khác.

  • Estimable: Nhóm phát triển có thể ước lượng được khối lượng cũng như thời gian hoàn thành công việc.

  • Small: Tính năng đủ nhỏ để có thể xây dựng trong thời gian tương đối.

  • Testable: Sau khi hoàn thành tính năng, nhóm phát triển có thể tự kiểm thử trước khi kết hợp với các tính năng khác.

2. Các công việc cần làm

  • Thu thập yêu cầu của người dùng về User Story (2 giờ)

  • Lên ý tưởng vẽ mô phỏng cơ sở dữ liệu người dùng (1 giờ 30 phút) Hướng dẫn tạo CSDL

  • Lựa chọn sử dụng database MySQL (15 phút) MySQL

  • Tạo cơ sở dữ liệu lưu thông tin người dùng bằng database MySQL (30 phút) Học MySQL

  • Lên ý tưởng giao diện đăng nhập, đăng kí cho người sử dụng (30 phút)

  • Tạo giao diện đăng nhập, đăng kí cho người dùng sử dụng html, css, javascript (1 giờ 30 phút) Tài liệu học

  • Chia nhỏ mã nguồn thành các file nhỏ hơn để quản lý (1 giờ) Tài liệu

  • Cải thiện giao diện bằng bootstrap 4 (1 giờ) Bootstrap

  • Kiểm thử lại phần giao diện đã hoàn thiện (30 phút) Kiểm thử

  • Lựa chọn làm backend bằng Node.js (10 phút) Node.js

  • Thực hiện tìm hiểu phân tích giao diện đã hoàn thiện để thiết kết backend phù hợp (1 giờ)

  • Thực hiện làm backend cho phần đăng kí của người dùng (1 giờ) Học Node.js

  • Kiểm tra lại xem khi thực hiện đăng kí tài khoản có được thêm vào database đầy đủ không (10 phút)

  • Thực hiện làm backend cho phần đăng nhập của người dùng (1 giờ) Học Node.js

  • Kiểm tra lại việc thực hiện đăng nhập với tất cả các tài khoản trong database (15 phút)

  • Kết hợp phần đăng nhập, đăng kí và thực hiện đăng kí rồi đăng nhập lại bằng chính tài khoản đó (30 phút)

  • Mã hóa mật khẩu bằng bcrypt trước khi đưa vào database MySQL (30 phút) Mã hóa bcrypt

  • kiểm thử lại backend đã hoàn thiện (1 giờ 30 phút) Kiểm thử

  • Thực hiện liên kết các trang đăng nhập, đăng kí với phần backend đã hoàn thiện (1 giờ)

  • Tối ưu source code, comment cẩn thận để tăng tốc độ và dễ bảo trì phát triển tính năng mới (1 giờ 30 phút) Cách tăng tốc

  • Thực hiện việc kiểm thử toàn bộ chương trình đã hoàn thành để tìm lỗi (2 giờ) Kiểm thử toàn bộ Web

  • Triển khai user story

Video demo chức năng theo user story: https://youtu.be/FbFcPiUAPEI