Giới Thiệu
Mã nguồn Webchat được lập trình bằng ngôn ngữ Java,Cơ sở dữ liệu Mysql ,code mạch lạc,rõ ràng,dễ hiểu,chi tiết cho phép các bạn tùy biến và sử dụng trong các mục đích khác nhau.
Rất thích hợp với các bạn đang tìm hiểu lập trình về mảng webchat,các bạn học viên đang làm đồ án,bài tập lớn,làm luận văn tốt nghiệp.
1.Chức Năng Chính:
1.1. Nonfunctional requirements
1.1.1. Bảo mật
· User đăng nhập vào site chat với mật khẩu và password riêng.
1.1.2. Performance
· Ứng dụng chạy nhanh và ổn định, được tối ưu hóa phía front-end và back-end.
· Ứng dụng có khả năng chạy với lượng truy cập lớn. Mỗi request phải được xử lí tối đa 100ms phía server.
1.1.3. Giao diện
· Giao diện tuân theo nguyên tắc thiết kế responsive layout.
· Tất cả những tác vụ tốn nhiều thời gian xử lí đều phải hiện biểu tượng chờ thông báo cho người dùng.
· Các biểu tượng phải rõ ràng, trực quan, thuận tiện cho người dùng.
1.1.4. Yêu cầu tương thích
· Webchat phải chạy được trên hầu hết các trình duyệt
o IE 8 trở lên
o Firefox 5+
o Chrome 16+
o Safari
1.2. Functional requirements
1.2.1. Đăng nhập, đăng xuất
· User nhập mật khẩu và tên đăng nhập thực hiện đăng nhập
· Hế thống kiểm tra thông tin user nhập vào. Nếu thông tin đăng nhập là hợp lệ thì hệ thống redirect user sang trang chat. Nếu thông tin không hợp lệ, hệ thống xuất hiện thông báo lỗi yêu cầu user nhập lại thông tin đăng nhập.
· User đăng nhập thành công vào trang chat, nếu không muốn chat user có thể đăng xuất khỏi trang.
1.2.2. Chat giữa 2 người
· User chọn từ danh sách chat một user khác, chat với user đó. Nếu user không online mà được gừi tin nhắn tới thì nội dung chat sẽ được lưu lại và sẽ hiện lên khi user đăng nhập.
· Không hỗ trợ tính năng chat nhóm, chỉ cho phép hai user chat với nhau trong cùng một cửa sổ chat.
· Một user có thể chat với nhiều user khác trên nhiều cửa sổ chat khác nhau. Số lượng cửa sổ chat là không giới hạn. Nếu số lượng cửa sổ chat quá nhiều và màn hình không thể hiển thị hết được thì một số cửa sổ sẽ được thu hẹp lại, user muốn xem nội dung chat ở các cửa sổ đó phải chọn phóng to nó lên.
· Cửa sổ chat có thể resize theo kích cỡ tối thiểu là 180x180, kích cở tối đa tùy theo màn hình nhưng không được chiếm hết màn hình.
1.2.3. Gửi Emotion
· Webiste cung cấp sẵn một tập các emotion, người dùng có thê chọn từ danh sách các emotion này chat với nhau.
1.2.4. Gửi hình ảnh
· Trong cửa sổ nhập nội dung chat có biểu tượng cho phép người dùng chọn thêm ảnh vào trong nội dung chat.
· Người dùng có thể chèn vào nội dung chat một hoặc nhiều hình một lúc.
· Hình sẽ được resize cho vừa với khung cửa sổ chat, kích cỡ tối đa của hình là 215x215.
· User có thể xem hình ảnh ở kích cỡ thật bằng cách click chuột vào hình ảnh. Lúc này một popup sẽ hiện lên hiển thị hình ảnh với kích thước lớn.
1.2.5. Gửi link
· Nếu người dùng gửi link trong nội dung chat hệ thống sẽ tự động lấy thông tin trang web mà link đó trỏ tới. Nếu link sai hay trang web không tồn tại nội dung link vẫn được giữ nguyên. Nếu link chính xác, nội dung trang web mà nó trỏ tới sẽ được lấy về và cửa sổ chat sẽ hiển thị nội dung trang web bao gồm: một hình ảnh trong trang web, title của trang (thẻ <title>), trang chủ.
1.2.6. Gửi file
· Hệ thống cung cấp chức năng gừi file. User chì gừi một file tại một thời điểm và giới hạn kích thước file là 10MB. Nếu user cố gắng gửi file vượt quá kích thước quy định website sẽ thông báo cho user.
· Trường hợp user nhận file không online thì sẽ không cho phép gửi file và xuất hiện thông báo cho user gửi.
1.2.7. Quản lí user cho admin
· Tài khoản admin có thể thêm, xóa, sửa thông tin về user.
1.1. Mô tả các module
1.1.1. Phía ClientSide
- Login : cho phép user nhập username và password để đăng nhập vào giao diện chat chính.
- Send Text: chuyển nội dung người dùng mới nhập ( sau khi nhấn enter hoặc nhấn nút Send ) lên phía Server. Nội dụng xử lý ở đây có thể là chữ, biểu tượng cười, hình ảnh.
- Send File : module cho phép người người chọn file để gửi. Giới hạn kích thước file để gừi là 10MB.
- Send Link: module cho phép người dùng chèn 1 link vào nội dung chat của mình.
- List Users : Liệt kê danh sách các User hiện có trong hệ thống cho người dùng biết, chọn một hay nhiều người để chat.
- User Management : dành cho người quản trị phía clientside, cho phép người quản trị thêm, xóa, cập nhật lại thông tin user.
1.1.2. Phía ServerSide
- LoginController: nhập username, và password gửi đến, tương tác với database để xem thông tin đăng nhập hợp lệ không. Nếu hợp lệ thi redirect sang giao diện chat chính, nếu không thông báo lỗi cho người dùng.
- ChatContentController: nhận nội dung chát từ phía client. Gồm các module nhỏ hơn : + Text Processing: xử lí nội dung chữ, biểu tượng cười, hình ảnh.
+ File Processing: xử lí việc truyền file.
+ Link Processing: xử lí liên kết, tìm ra được thumbnail ( hỉnh ảnh nhỏ) và một phần nội dung đại diện cho liên kết đó.
- OnlineManagement: quản lí xem các user nào đang online, đang offline để hiện lên màn hình cho người dùng biết.
- UserManagementController: module dành cho người quản trị phía serverside, tương tác với database để thêm, xóa , update user.
2. Các công nghệ sử dụng
· Webserver: jetty 9
· Hệ quản trị cơ sở dữ liệu: Mysql
· Ngôn ngữ sử dụng phía server: java
· Ngôn ngữ sử dụng phía client : html, css, javascript.
· Kỹ thuật sử dụng : AJAX, DOM.
· Thư viện: Jquery
Nguồn: Sharecode.vn