Skip to content

AuroraEchos/ChatHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatHub

这是一个使用Flask和Flask-SocketIO构建的简易聊天室应用程序。该应用支持用户注册、登录、创建聊天室和实时消息传递。

目录

功能特性

  • 用户注册:新用户可以通过提供姓名、邮箱和密码进行注册。
  • 用户登录:现有用户可以使用他们的邮箱和密码登录。
  • 密码找回:用户可以通过邮箱找回密码。
  • 聊天室管理:用户可以创建、加入和删除聊天室。
  • 实时消息传递:用户可以实时发送和接收消息。
  • 用户信息完善:用户可以完善个人信息,包括头像、性别、年龄、地点和简介。
  • 聊天室搜索:用户可以通过名称搜索聊天室。
  • 聊天历史记录:用户可以查看聊天室内的历史消息记录。

安装步骤

前提条件

  • Python 3.7+
  • Flask
  • Flask-SocketIO

设置步骤

  1. 克隆代码库:

    git clone https://github.com/yourusername/simple-chat-room.git
    cd simple-chat-room
  2. 创建虚拟环境:

    python3 -m venv venv
    source venv/bin/activate  # 如果是在 Windows 上,使用 `venv\Scripts\activate`
  3. 安装依赖:

    pip install -r requirements.txt
  4. 配置数据库: 确保已经设置了一个MySQL或SQLite数据库,并在 function/utils.py 文件的 Database 类中配置数据库连接。

运行应用程序

  1. 启动Flask服务器:

    python app.py
  2. 访问应用程序: 打开浏览器并访问 http://127.0.0.1:5000

项目结构

ChatHub/
├── function/
│   ├── test.py
│   └── utils.py
│
├── static/
│   ├── avatars/
│   └── css/
│       ├── chat.css
│       ├── complete_information.css
│       ├── index.css
│       └── retrieve_password.css
│
├── templates/
│   ├── chat.html
│   ├── complete_information.html
│   ├── index.html
│   └── retrieve_password.html
│
├── .gitattributes
├── app.py
├── LICENSE
├── README.md
└── requirements.txt

使用方法

用户注册

  1. 打开首页。
  2. 点击“注册”按钮。
  3. 输入姓名、邮箱和密码。
  4. 提交表单以接收带有验证码的电子邮件。
  5. 输入验证码完成注册。

用户登录

  1. 打开首页。
  2. 输入邮箱和密码。
  3. 点击“登录”按钮。

密码找回

  1. 打开密码找回页面。
  2. 输入姓名和邮箱。
  3. 输入通过电子邮件收到的验证码。
  4. 检查电子邮件获取密码。

创建聊天室

  1. 登录后,导航到创建聊天室页面。
  2. 输入聊天室名称和密码。
  3. 点击“创建聊天室”按钮。

加入聊天室

  1. 通过名称搜索聊天室。
  2. 输入聊天室密码。
  3. 点击“加入聊天室”按钮。

发送消息

  1. 加入聊天室后,在输入框中输入消息。
  2. 点击“发送”按钮或按Enter键发送消息。

查看聊天历史记录

  1. 加入聊天室后,以前的消息将自动显示。

安全性考虑

  • 密码存储:在存储到数据库之前使用bcrypt进行密码哈希处理。
  • 会话管理:使用Flask的会话管理来安全地管理用户会话。

未来改进

  • 改进用户界面和用户体验。
  • 添加更详细的日志以便于错误跟踪。
  • 实现用户角色和权限以改进聊天室管理。
  • 进行敏感信息处理。

许可证

该项目基于MIT许可证。详细信息请查阅LICENSE文件。

注意事项

  • 本项目仅供学习和研究使用,不保证在所有环境下均可正常运行。
  • 如果遇到问题或有改进意见,请联系项目作者。
  • 维护者:Wenhao Liu

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published