Tư duy lập trình 1 diễn đàn

Chào mọi người,
Em đang có ý tưởng lập trình 1 web diễn đàn về sức khỏe nhưng khi bắt tay vào việc em rất mông lung. Em sử dụng HTML, CSS,SQL, Javascript với PHP. Trong quá trình làm, em thấy tư duy của mình còn chậm chạp nên rất mong được mọi người giúp đỡ về cách làm, cách thực hiện của diễn đàn như sau:

  1. Khi người dùng đăng nhập vào hệ thống, làm như thế nào để có thể hiển thị tên người dùng thay cho phần đăng kí, đăng nhập ban đầu ạ?
  2. Em sử dụng phân quyền admin để quản lý thì nên tách 2 loại admin và user thông thường hay nên làm 1 ạ. Nếu gộp làm 1 thì làm thế nào có thể che giấu phần dành cho admin để user ko thấy ạ?
  3. Phần bình luận và thông báo cho user như diễn đàn DNH thì em nên sử dụng gì và ntn ạ?
  4. Những ai đã từng làm về web có thể chia sẻ cho em ít kinh nghiệm hay những công cụ để cải thiện trang web của mình được không ạ?
    Em rất mong nhận được sự hỗ trợ từ phía mọi người để em có thể tư duy tốt hơn ạ. ^^
    Cảm ơn mọi người. ^^
2 Likes

Mình cũng từng gặp phải những vấn đề như của bạn, :smile: Hóng câu trả lời của các pro

1 Like

Mình không làm về PHP nhưng về logic xử lý thì nhu sau:

  1. Khi người dùng đăng nhập vào hệ thống, làm như thế nào để có thể hiển thị tên người dùng thay cho phần đăng kí, đăng nhập ban đầu ạ?

Về vấn đề này giả sử ban đầu bạn có một cái tag label giá trị mặc định là chu “Dang Ky”. Sau khi một user đăng nhập thành công thì bạn gán trị username vào một session rồi truyền ngược lại giá trị session đó vào tag label.

  1. Em sử dụng phân quyền admin để quản lý thì nên tách 2 loại admin và user thông thường hay nên làm 1 ạ. Nếu gộp làm 1 thì làm thế nào có thể che giấu phần dành cho admin để user ko thấy ạ?

Thông thường nên phân biệt quyền của useradmin. Không thể gộp làm một nếu như chúng ta không có đặc tính nào để phân biệt được user đó là admin hay chỉ là một user thường. Bất khả kháng thì bạn có thể chỉ định user với username gì đó ví dụ như username là “a”, “b”, “c” … có thể được vào trang admin còn với những user khác không có username như vậy thì không được vào.

  1. Phần bình luận và thông báo cho user như diễn đàn DNH thì em nên sử dụng gì và ntn ạ?

Phần bình luận bạn nên thiết kế theo hướng 1 chủ đề có nhiều bình luận. Và mỗi bình luận thì lại có phần reply lúc này bạn nên tìm hiểu về đệ quy. Còn về phần thông báo như trên diễn đàn DNH mình không biết dùng công nghệ gì như chắc cũng giống như là SignalR bên ASP.NET.

  1. Những ai đã từng làm về web có thể chia sẻ cho em ít kinh nghiệm hay những công cụ để cải thiện trang web của mình được không ạ?

Công cụ thì bạn có thể nghiên cứu các công cụ như Bootstrap, công cụ nén javascript, css để tăng tốc độ tải trang. Trong quá trình lập trình thì xử lý code sao cho logic để cải thiện perfomance của ứng dụng ngoài ra còn có SEO cải thiện thứ hạng tìm kiếm trên Google … và nhiều thứ khác nữa.

4 Likes

DNH sử dụng Discourse là dự án mã nguồn mở, bạn có thể tìm hiểu thêm về nó xem sao

2 Likes

Thế kỷ 21 người ta quan trọng nhất là tốc độ (Speed).
Bạn có ý tưởng làm diễn đàn về sức khỏe nhưng mông lung. Cách tốt nhất là nên tìm hiểu trên thị trường ai đang làm diễn đàn về sức khỏe tốt nhất mà benchmark diễn đàn đó của người. Nếu mình giống y chang thì đã là số 2. Cải tiến thêm nhiều khía cạnh để lên số 1. Chúc bạn thành công !

3 Likes

em cảm ơn anh ạ, em sẽ tự tìm hiểu thêm :))

Vâng, em sẽ tìm hiểu thật kĩ. :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?