User Tools

Site Tools


mhst:ideas:mhst2014:vietlug01

Mở rộng tính năng cho ứng dụng ghi chú Zim (http://zim-wiki.org/)

Mô tả ý tưởng

Zim (http://zim-wiki.org/) là ứng dụng viết ghi chú, tổ chức thành các trang wiki có thể liên kết với nhau. Zim cũng hỗ trợ sử dụng cú pháp Wiki để tạo nhanh liên kết hay để định dạng văn bản, thay vì chỉ dùng công cụ định dạng như các ứng dụng soạn thảo thông thường. Zim còn có hệ thống plugin để mở rộng tính năng ghi chú, như cho phép chèn hình, chèn công thức toán từ mã LaTeX.

Ý tưởng cho MHST ở đây là mở rộng một số tính năng cho Zim.

Kỹ năng yêu cầu

  • Lập trình Python
  • Sử dụng/tìm hiểu qua các hệ thống quản lý phiên bản mã nguồn (SVN, Git)
  • Lập trình Qt, các API cơ bản của Qt, các API hướng đến khai thác nền tảng di động. Ngôn ngữ mô tả QML của Qt, thư viện QtQuick của Qt nhằm làm việc với ngôn ngữ QML.
  • Tùy ý: Có thể sử dụng ngôn ngữ Python thay vì C++ để làm việc với Qt, thông qua PyOtherSide (http://thp.io/2011/pyotherside/)
  • Lập trình Android.

Mô tả chi tiết

Có 1 số tính năng đang cần và sẽ được trao thưởng (http://zim-wiki.org/contribute.html) Sinh viên có thể chọn làm 1 trong các tính năng sau đây:

  1. Bắt đầu hỗ trợ versioning, nhắm cho đồng bộ hóa sau này. Hiện tại Zim chưa có tính năng quản lý sự thay đổi tập tin qua phiên bản, nên chưa thể hỗ trợ đồng bộ hóa trên các thiết bị khác nhau. Công việc 1 này là đề xuất ý tưởng, mô hình cũng như hiện thực hóa tính năng đó (Có thể tham khảo CouchDB, SVN?)
  2. Hỗ trợ đồng bộ với server. Có thể thiết kế dịch vụ riêng, hoặc đồng bộ với CouchDB, ownCloud…
  3. Port Zim sang thiết bị di động (Android, Qt)

Đánh giá mức độ khó khăn

Trung bình - khó

Mentor

mhst/ideas/mhst2014/vietlug01.txt · Thời điểm thay đổi: 2014/09/05 10:26 (external edit)