GithubHelp home page GithubHelp logo

javasocket_messengerapp's Introduction

ĐỀ TÀI : XÂY DỰNG CHƯƠNG TRÌNH CHAT

Yêu cầu về chức năng phía client (phải có GUI):

  • Đăng ký tài khoản mới, đăng nhập, cập nhật thông tin tài khoản. Thông tin tối thiểu cho mỗi tài khoản gồm có các trường: username (chính là địa chỉ email), password (hash), họ tên, giới tính, ngày sinh. Ngoài ra, địa chỉ email lúc đăng ký phải được xác thực bằng OTP (timeout 10 phút) trước khi tài khoản đó được kích hoạt
  • Tạo nhóm chat mới hoặc gia nhập/rời khỏi các nhóm chat có sẵn
  • Gửi tin nhắn 1-1 hoặc 1-nhóm
  • Gửi file đính kèm (dung lượng dưới 1MB), gửi sticker
  • Chặn nhận tin nhắn từ 1 người dùng hoặc 1 nhóm
  • Xác nhận tin nhắn đã gửi/nhận, đã xem
  • Friend list: lưu giữ danh sách và cho biết trạng thái (online hoặc offline) của những người mà user đã từng chat, có thông báo khi bất cứ user nào trong friend list thay đổi trạng thái
  • Chức năng quản lý và lưu giữ tin nhắn: toàn bộ tin nhắn của người dùng được lưu trữ trên server, khi client đăng nhập, những tin nhắn gần đây nhất sẽ được đẩy về giao diện phía client

Yêu cầu về chức năng phía server:

  • Thống kê được tổng số user, các user đang online
  • Ghi log khi user login/logout hoặc thực hiện các chức năng: đăng ký tài khoản; tạo nhóm
  • Block user bằng lệnh (hoặc giao diện đồ họa)
  • Broadcast tin nhắn từ hệ thống đến toàn bộ user

Yêu cầu chung:

  • Mã hóa nội dung tin nhắn giữa client – server. Phải sử dụng key khác nhau cho các client => Sử dụng RSA và AES

Yêu cầu phải có:

  • Jdk 1.8
  • Mysql

Cách chạy chương trình

  1. Clone source code về và giải nén thư mục `Library.zip` sau đó import các thư viện trong thư mục
  2. Tạo CSDL với tên `chatdb` và import file chatdb.sql
  3. Khởi chạy server src/Network/ServerGUI.java
  4. Chạy các client src/GUI/Login.java để bắt đầu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.