App chat này được mình xây dựng bằng JavaFX ở phía client, và phía server mình dùng Java Swing, mục đích là để hiểu được ưu và nhược điểm giữa hai công nghệ này. Về giao thức truyền tải mình không sử dụng socket có sẳn trong Java thay vào đó mình sử dụng Websocket thông qua 1 thư viện bên ngoài là Netty SocketO. Ngoài ra thay vì lưu ảnh trực tiếp vào database mình sử dụng 1 dịch vụ lưu ảnh bên thứ 3 là Cloudinary, mục đích là giúp giảm nhẹ dung lượng database và tăng tốc độ load ảnh phía người dùng, thay vì lưu cả file ảnh được mã hóa rồi lại phải giải mã để load ngược lại lên client thì với cách này chúng ta chỉ lưu link của ảnh được dịch vụ cung cấp rồi load ảnh đó từ link. Ngoài ra App còn cho phép gửi lời mời kết bạn, từ chối lời mời hoặc chấp nhận, hiện trạng thái online của người dùng.
Hướng dẫn cài đặt
(Các bạn nên dùng IntelliJ để chạy dự án này để tránh trường hợp lỗi)
Khi tải về các bạn sẽ có 4 file trong đó có 1 file sql, 2 file zip và 1 file báo cáo
với file sql, các bạn tạo một DB có tên là 'chatapp' rồi chỉ cần thực thi file sql là được
với 2 file zip, thì 1 file là để chạy Client, 1 file để chạy server, các bạn vào IntelliJ để mở 2 project này sau đó vào project Server, tại package TheSedativePackage class DBConnection các bạn chỉnh lại theo đúng thông tin db của các bạn và chạy server là xong
mình đã tích hợp sẵn API của cloudinary trong source, nên các bạn không cần phải thêm lại, nếu các bạn có nhu cầu đổi hoặc bị lỗi gì trong quá trình cài đặt thì có thể liên hệ mình
(Các bạn nên dùng IntelliJ để chạy dự án này để tránh trường hợp lỗi)
Khi tải về các bạn sẽ có 4 file trong đó có 1 file sql, 2 file zip và 1 file báo cáo
với file sql, các bạn tạo một DB có tên là 'chatapp' rồi chỉ cần thực thi file sql là được
với 2 file zip, thì 1 file là để chạy Client, 1 file để chạy server, các bạn vào IntelliJ để mở 2 project này sau đó vào project Server, tại package TheSedativePackage class DBConnection các bạn chỉnh lại theo đúng thông tin db của các bạn và chạy server là xong
mình đã tích hợp sẵn API của cloudinary trong source, nên các bạn không cần phải thêm lại, nếu các bạn có nhu cầu đổi hoặc bị lỗi gì trong quá trình cài đặt thì có thể liên hệ mình