Về nội dung website dạy đánh bàn phím 10 ngón - ntgiang71096/Typing-Tutor GitHub Wiki

Mục Đích

Dạy đánh bàn phím 10 ngón

Yêu Cầu

Về các chức năng cơ bản:

  • Các bài tập đánh máy cơ bản, theo từng bài học, dạy đánh theo từng phím/hàng (có minh họa)
  • Các bài tập đánh máy nâng cao, luyện theo các đoạn văn với những độ dài khác nhau
  • Lưu thông tin (tiến độ) của người dùng

Về các chức năng nâng cao:

  • Vẽ biểu đồ tiến độ học của người dùng
  • Chức năng cho các người dùng kết bạn với nhau
  • Bổ sung một số thuộc tính như điểm kinh nghiệm, sao, ...
  • Bổ sung huy chương và phần thưởng cho người dùng
  • Bổ sung các giao diện tùy chỉnh cho trang web
  • Xếp hạng người dùng (theo ngày, theo tuần)
  • Một số trò chơi nhẹ

Thiết Kế

Về bố trí trang web:

Trang chủ:

Giới thiệu cho người dùng nếu người đó vào trang web lần đầu tiên (dùng cookie):

  • Giới thiệu trang web
  • Bố trí trang web
  • Mời dùng thử và đăng nhập bằng Facebook/Gmail

Các lần vào sau:

  • Trang chủ có tin tức, xếp hạng
  • Nếu người dùng đăng nhập có thể có thêm "Chào mừng bạn XYZ ..", lời nhắc nhở về việc học đánh 10 ngón

Bài tập cơ bản:

  • Các bài tập được bố trí theo từng cấp độ, có đánh dấu hoàn thành, không có xếp hạng, chỉ theo dõi tốc độ đánh cùng độ chính xác
  • Trước khi vào bài, giới thiệu sơ qua về bài học
  • Có chức năng tắt - bật bàn phím minh họa hướng dẫn đánh máy

Bài tập nâng cao:

  • Có danh sách các đoạn văn, độ khó theo số từ
  • Cho phép người dùng chọn độ dài đoạn văn

Cá nhân:

  • Hiện thông tin cá nhân của người dùng
  • Hiển thị biểu đồ thống kê tiến trình học đánh 10 ngón

Ngoài lề:

Giới thiệu một số thông tin thú vị như:

  • Lịch sử QWERTY
  • Lợi ích của việc đánh bàn phím 10 ngón
  • Nguyên tắc đặt tay cơ bản

Giới thiệu:

Giới thiệu về nhóm phát triển trang web

Về giao diện:

  1. Header:

Gồm có một logo lớn, khi cuộn xuống thì sẽ thành một thanh navigation nhỏ 2. Footer:

Thống kê số lượng đăng nhập, số lượng thành viên 3. Home:

Cần có:

  • Một slider slideshow
  • Giới thiệu về trang web
  • Mới vào lần đầu có pop-up hiện lên hướng dẫn
  1. Intro

Cần có:

  • Chữ và ảnh
  • Giới thiệu chi tiết
  • Có dạng một bài viết
  • Có anchor cho từng phần
  1. Danh sách các bài tập cơ bản:

Cần có:

  • Mỗi mức một hàng
  • Mỗi bài một ô, khi nhấn vào sẽ sang trang mới
  1. Bài tập:

Cần có:

  • Bên trên phần đoạn văn cần đánh có thống kê về tốc độ, thời gian, độ chính xác, số từ, ...
  • Bên dưới đoạn văn là bàn phím, hai bên là hai tay nhằm mục đích minh họa, hướng dẫn người dùng đánh bằng 10 ngón
  • Sau khi hoàn thành sẽ có hộp thoại hiện lên chúc mừng

Về cơ sở dữ liệu:

Gồm có các thực thể:

  1. User: userID, joined_date, best_cpm, best_accuracy, avg_cpm, avg_accuracy

  2. Lesson: lessonID, title, content, difficulty (các bài đánh cơ bản sẽ có difficulty là 0)

  3. Log: logID, userID, lessonID, time