GithubHelp home page GithubHelp logo

jjkhl / networkdisk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yuecao0119/networkdisk

0.0 0.0 0.0 23.9 MB

基于Qt的C++项目,实现了网盘的基础功能,包括注册登录、好友系统、私聊群聊、文件操作、分享文件等功能,实现了网络通信、多线程等。

License: MIT License

C++ 88.01% C 9.97% QMake 2.03%

networkdisk's Introduction

NetworkDisk

基于Qt的C++项目,实现了网盘的基础功能,包括注册登录、好友系统、私聊群聊、文件操作、分享文件等功能,实现了网络通信、多线程等。

⭐项目技术栈

主要编程语言:C++

开发平台:Qt Windows 5.14.2

设计特性:单例设计模式、网络通信

✈️项目参考资源

【收藏】c++项目实战,手把手教你搭建属于自己的网盘系统~_哔哩哔哩_bilibili

💕学习笔记

详细记录了开发的流程,同时包含了开发过程中遇到的问题和解决方案。如有错误,请您指正。

LightInk2020的C++项目 (notion.site)

🕊️开发时间表

项目开始于2022年7月,计划在两个星期左右完成,大概开发时间表规划如下:

  • 07月22日 【初始化】项目初始化、搭建数据库
  • 07月23日 【初始化】客户端/服务器初始化搭建
  • 07月24日 【基础功能】登录注册退出注销功能实现
  • 07月25日 【页面设计】主页面、好友页面、所有在线用户页面
  • 07月25日 【好友功能】查看用户、查找用户、添加好友
  • 07月26日 【好友功能】刷新好友列表、删除好友
  • 07月26日 【好友功能】私聊、群聊
  • 07月27日 【页面设计】文件系统页面
  • 07月27日 【文件功能】创建文件夹、查看文件、删除文件
  • 07月28日 【文件功能】文件重命名、进入文件夹
  • 07月28日 【文件功能】返回上一级、上传文件
  • 07月29日 【文件功能】下载文件、移动文件
  • 07月30日 【文件功能】分享文件
  • 07月30日 【总结】总结回顾

其他拓展功能的开发待定

  • 将服务器端程序部署到服务器上
  • 已实现群聊是所有好友聊天,之后可以实现为部分好友构建群进行群聊方式
  • 采用redis数据库
  • 页面UI优化
  • 优化代码,例如减少冗余代码、减低耦合度、规范化变量命名等

启动注意事项

  • windows系统需要将服务器和客户端的loadConfig()函数中的strData.replace("\r\n"," ")\r\n替换为\n
  • 需要在mysql中添加数据库networkdiskdb,并在服务端的void DBOperate::init()中修改自己的数据库用户名和密码

待改进功能

  1. 私聊需要刷新好友才能显示,且不能发送中文
  2. 好友添加后也是需要刷新好友才能显示
  3. 消息提示框不够明显

💻主要贡献者

@Light Ink@Evil Hare

networkdisk's People

Contributors

yuecao0119 avatar jjkhl avatar

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.