Smart-SangGe / Program_Design

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Program_Design

在线互动聊天系统

1. 项目介绍

  • 目的 项目开发实践是本专业的一个综合性实践环节。它主要围绕多门专业课,综合运用所学专业知识,结合实际应用项目而进行的一次综合分析、设计和实践能力的训练。项目开发实战课程的目的是使学生能够针对具体软件项目,按照软件规范考虑软件完整性、安全性等进行软件开发。 培养学生面向对象程序设计能力、图形用户界面设计能力、项目管理能力、软件安全设计能力、合作意识等;培养学生软件开发过程文档的编写能力,从而全面提高学生独立分析、解决实际项目的能力。

2. 技术选择

  • 技术栈

后端:Nginx + uWSGI + Flask + gevent

数据库: mariadb

前端 : HTML, CSS, JavaScript + Socket.io客户端库

  • 软件版本

开发环境:

python 3.11.0 pip 23.2.1

服务器环境:

docker 24.0.5
image: python:latest nginx:latest mariadb:latest

3. 功能实现

  • 用户注册与登录
    • 前端将form通过POST方法提交到后端,然后后端和数据库进行交互
    • 遇到的问题和解决方案
  • 好友管理
    • 通过friendship表对好友关系进行存储,作为user的一个外键.
    • 好友邀请则是通过FriendRequest表进行记录
  • 通信
    • 使用flask-socketio库进行实时通信
    • uwsgi + eventlet无法正常运行, 因此将socketio服务器切换为gevent

4. 测试

  • 测试方法
  • 测试结果

5. 项目结论

  • 已完成的工作
  • 未完成或需要改进的地方

6. 附录

  • 代码片段
  • 屏幕截图
  • 其他相关资料

About

License:MIT License


Languages

Language:Python 37.7%Language:HTML 25.0%Language:CSS 20.7%Language:JavaScript 15.3%Language:Dockerfile 1.4%