Share
Trang chủ / Tất cả hướng dẫn / Lập trình android / Xây dựng hệ thống : Địa Điểm Ăn Chơi

Xây dựng hệ thống : Địa Điểm Ăn Chơi

Một dự án nhỏ về địa điểm ăn chơi, đây sẽ là một hệ thống được xây dựng trên nhiều nền tản khác nhau như WordPress, Android, và desktop dev.

Địa điểm ăn chơi
Địa điểm ăn chơi

Chào các bạn, Trong dự án trước của loạt bài hướng dẫn ứng dụng WordPress trong các dự án thực tế, chúng ta đã cùng nhau xây dựng một trang portfolio bằng theme Divi huyền thoại. Và bây giờ, chúng ta cùng nhau đến với một dự án lớn và hấp dẫn hơn. Trong dự án này, ta xây dựng một dịch vụ cho nhiều người sử dụng, và nó là một dự án đem lại lợi nhuận trực tiếp.

Các bài viết trong series

  1. Giới thiệu dự án
  2. Xây dựng website địa điểm : Chọn theme.
  3. Mua và cài đặt theme DirectoryEngine.

Giới thiệu dự án

Mình không phải dân kinh tế, gì vậy mình không mô tả chi tiết về các khía cạnh kinh tế của dự án, mà mặc nhiên chúng ta hiểu với nhau rằng, khi xác định làm theo hướng dẫn này thì chúng ta đã xem xét, tính toán và nhận thấy nó khả thi và đem lại lợi ích ( có thể là lợi nhuận hoặc lợi ích xã hội nào đó ). Bạn sẽ không gặp các phân tích chi tiết về đối tượng, marketing,…. Mình chủ yếu sẽ mô tả và hiện thực phần kỹ thuật, hạ tần mà thôi.

Đây là một dự án về địa điểm. Chúng ta sẽ xây dựng một dịch vụ, mà ở đó cho phép người dùng chia sẻ thông tin về các địa điểm vui chơi, giải trí. Đồng thời cũng cung cấp luôn thông tin, giá cả của các nhà hàng, gánh hàng rong, các địa điểm ăn uống nổi tiếng ở khắp cả nước hoặc một khu vực nào đó.

Để thực hiện dịch vụ này, chúng ta cần một hệ thống phần mềm. Không như các hệ thống thông thường khác, chỉ cho phép ban quản trị sử dụng, cập nhật các địa điểm. Hệ thống của chúng ta mở hơn, nó cho phép người dùng submit địa điểm mà họ muốn chia sẻ lên hệ thống. Đây chính là điểm mấu chốt làm nên sự khác biệt của chúng ta. Không phân tích thêm, hy vọng bạn có thể tự phân tích được lợi ích của điểm khác biệt này.

Không chỉ dừng lại ở đây, Mình gọi nó là hệ thống, vì nó tập hợp nhiều phần mềm khác nhau. Cụ thể như sau :

  1. Ta có một website chính, trên website này hiển thị các địa điểm, đồng thời tương tác với người dùng.
  2. Ta có một phần mềm mobile, mục đích là hiển thị các địa điểm tốt hơn, đồng thời hỗ trợ tính năng check-in, đánh giá, report địa điểm, cũng như hỗ trợ tính năng notify.
  3. Một extension trên google chrome sẽ giúp notify bất cứ lúc nào người dùng mở máy tính.

Vì vậy đây có thể sẽ là một loạt bài hấp dẫn. Hãy theo dõi và góp ý nhé.

Các yêu cầu chức năng

Tất nhiên rồi, lúc nào chúng ta cũng sẽ đến với các yêu cầu chức năng trước, vì trong bài viết này, chúng ta đóng vai trò là những người khác hàng khó tính, và đưa ra các yêu cầu của mình. Nếu bạn thấy mình có yêu cầu nào “cũng hợp lý” thì vui lòng comment ở dưới, mình sẽ xem xét và bổ sung. Dưới đây là các mô tả tóm gọn về các chức năng chính cần có.  Bản mô tả chi tiết hơn được trình bày dạng file, bạn có thể tải về. ( đang cập nhật, vui lòng  liên hệ để biết thêm chi tiết )

Đây là yêu cầu chung

  1. Dữ liệu giữa các phần mềm phải đồng bộ với nhau.
  2. Có khả năng notify cao.
  3. Giao diện đẹp, hiện đại và thân thiện với người dùng.

Đối với website chính

Website chính là nơi xảy ra phần lớn tương tác với người dùng, đa số các kênh truyền thông sẽ trỏ về website. Các tác vụ quản lý cũng diễn ra ở website này.

Đây là các yêu cầu đối với website chính :

  1. Nhiều người dùng có thể đăng ký, đăng nhập và sử dụng hệ thống.
  2. Có thể submit địa điểm kèm theo phân loại, hình ảnh, địa chỉ, bản đồ.
  3. Cho phép review đánh giá về địa điểm.
  4. Tính năng “báo xấu” về địa điểm, chống mạo nhận địa điểm
  5. Tính năng contact, cho phép người xem và chủ địa điểm liên lạc với nhau.
  6. Hệ thống tin nhắn sms : xác thực địa điểm, notify
  7. Có các trang/page cơ bản như : about, contact, …
  8. Tính năng search cho phép tìm kiếm địa điểm theo cách nâng cao hoặc cơ bản.
  9. Hỗ trợ chức năng blog.
  10. Có hệ thống payment, cho phép trả tiền khi submit các địa điểm.
  11. Hỗ trợ nhiều payment, gateway.
  12. Tính năng report, cho phép xem payment report, report về các địa điểm.
  13. Tính năng phân tích sở thích của người dùng. Gợi ý các địa điểm dựa vào sở thích.
  14. GIao diện đẹp, thiết kế thông minh, thân thiện với người dùng.
  15. Có trang quản lý riêng dành cho admin, thân thiện, hiệu quả

Chrome extension

Chrome extension là tiện ích mở rộng trên trình duyệt google chrome, Mục đích chính của Extension này là để tăng tương tác với người dùng, giữ họ luôn cập nhật những tin mới nhất, Đồng thời nó cũng giúp xác định mối quan tâm của người dùng là gì. Dưới đây là các yêu cầu cơ bản cho extension này.

  1. Cài đặt, setting đơn giản.
  2. Thu tập các từ khóa tìm kiếm, các website truy cập hàng đầu của người dùng.
  3. Notify mỗi khi có sự kiện cần notify xảy ra trong cơ sở dữ liệu.
  4. Tạo shortcut tới website chính.

Phần mềm di động

Do khả năng của mình có hạn, nên hiện tại chỉ có thể dừng lại ở phần mềm dành cho hệ điều hành Android, Nếu bạn có khả năng lập trình cho các hệ điều hành khác như iOS và WindowsPhone thì mong bạn có thể giúp mình làm cho dự án này hoàn chỉnh hơn.

Để gọn nhẹn, thì trong giao đoạn đầu tiên, chúng ta nên làm

  1. Cho phép đăng nhập, đăng ký thành viên.
  2. Giảm tải việc truyền tải dữ liệu.
  3. Chức năng gọi, nhắn tin tức thời.
  4. Submit, report địa điểm.
  5. Comment trên địa điểm.
  6. Dẫn đường tới địa điểm đã chọn.
  7. Notify khi có sự kiện.
  8. Hỗ trợ đa ngôn ngữ.
  9. Thông báo các địa điểm gần.
  10. Tính năng check-in khi người dùng đến các địa điểm.
  11. Giao diện đẹp, thân thiện

Yêu cầu phi chức năng

Trên đây là toàn bộ các yêu cầu chức năng mà chúng ta đưa ra, và cũng luôn kèm theo yêu cầu phi chức năng :

  1. Khả năng bảo mật cao.
  2. Không chiếm tài nguyên quá lớn : Số lượng file, thời gian đáp ứng.
  3. Đảm bảo dữ liệu động bộ, toàn vẹn.

Các giai đoạn thực hiện

Những ngày sắp tới mình khá bận, vì chuẩn bị mọi thứ để chào đón bé Bu bé bỏng sắp chào đời, vì vậy thật khó để đưa ra một kết hoạch với thời gian thật sự cụ thể, chỉ có thể nói là mình luôn cố gắng hết khả năng cho phép. Vì đây là niềm đam mê của mình. Dưới đây là  các giai đoạn hiện thực dự án, kèm theo thời gian ước tính :

Giai đoạn 0 : Lập kế hoạch và tìm tài nguyên

Thời gian : từ 01/12/2014 đến 07/12/2014

Nhiệm vụ :

  1. Lập kế hoạch thực hiện dự án be bé này kèm theo các tài liệu cần thiết.
  2. Tìm tài nguyên : người đồng hành, nhà tài trợ.

Kết quả :

  1. Có được bản kế hoạch và các tài liệu liên quan : Mô tả thiết kế, phát triển, …
  2. Tìm được ít nhất một người đồng hành ở : 1 Front-end, 1 designer, 0->1 Android dev.
  3. Tìm được nhà tài trợ kinh phí trả cho “Người đồng hành”, tiền điện, …

Giai đoạn 1 : Xây dựng website chính

Thời gian : từ 08/12/2014 đến 23/12/2014

Nhiệm vụ : Xây dựng website chính kèm theo đầy đủ các chức năng trong bản yêu cầu chức năng chi tiết.

Kết quả : Có một website chính, hoạt động tốt.

Giai đoạn 2 : Xây dựng Chrome Extension

Thời gian : Từ 25/12/2014 đến 28/13/2014

Nhiệm vụ : Xây dựng extension cho trình duyệt Chrome.

Kết quả : Extension được push lên Chrome Store.

Giai đoạn 3 : Xây dựng phần mềm trên android

Thời gian : Từ 01/01/2015 đến 30/1/2014

Nhiệm vụ : Xây dựng ứng dụng chạy trên hệ điều hành Android.

Kết quả : Ứng dụng android được push lên Google Play.

Kết quả

Mình hiện thực dự án này một cách phi lợi nhuận, mã nguồn và tài liệu của toàn bộ dự án sẽ được công khai trên GitHub và miễn phí cho tất cả các dự án phi lợi nhuận khác. Đối với các dự án có lợi nhuận, vui lòng liên hệ để có thêm trao đổi.

Vì dự án này là công sức của cả team và tất cả những người có đóng góp, vì vậy sự hội ý là cần thiết để đưa ra quyết định cuối cùng. Chúng mình mong sự hợp tác và thông cảm của các bạn.

Chú ý : Riêng các tài nguyên như : Premium theme, plugin, và những phần mềm mà license không thể chia sẻ công khai sẽ không được chia sẻ, bạn vui lòng đặt mua các mua các license này để có thể sử dụng.

Kêu gọi cộng tác

Hiện tại team của chúng mình còn yếu, chúng mình đang việc hết khẳ năng cho phép và đam mê. Tuy nhiên năng lực và quỹ tài nguyên còn hạn chế, chưa thể dốc hết tất cả vào dự án nhỏ xinh này. Vì vậy chúng mình rất cần sự hỗ trợ của các bạn. Ở bất cứ lĩnh vực nào, từ vật chất, công sức cho đến tinh thần. Hãy tham gia cùng WordPress Kite. Vui lòng liên hệ email contact@senviet.org khi bạn sẵn sàng. Chào mừng bạn.