在当今数字化社交时代,用户对于即时、高效且安全的在线沟通平台的需求日益增长。本项目旨在利用先进的 C# 技术栈,打造一个能够满足用户多样化社交需求的即时通讯平台,为用户提供更优质、更流畅的沟通体验。
项目功能模块:用户登录,用户注册,密码修改,密码重置,邮箱验证,添加好友,实时聊天,AI助手。
用户认证路径:
注册 :用户访问平台注册页面,输入用户名、邮箱、密码等必要信息。然后点击发送验证码按钮。系统对输入信息进行格式和完整性校验。通过校验后,系统向用户注册邮箱发送验证码。用户将验证码填入注册页面的相应,完成用户账号注册流程,并跳转至登录页面。
登录 :用户在登录页面输入已注册的邮箱和密码。系统对邮箱和密码进行验证,检查账号是否存在、密码是否正确以及邮箱是否已验证。若验证通过,系统允许用户登录进入平台主页,并记录用户登录状态和登录时间。若验证失败,系统提示用户错误原因,如邮箱或密码错误、邮箱未验证等。
找回密码:用户在登录页面点击 “忘记密码” 链接。系统跳转到找回密码页面,用户输入注册邮箱,然后点击发送验证码,系统验证邮箱是否属于已注册用户。验证通过后,系统向该邮箱发送验证码。用户收到验证码后,返回找回密码页面,输入验证码,新密码并确认。点击重置密码,系统更新用户密码,重置成功,系统跳转到登录页面,用户可使用新密码重新登录。
社交关系管理路径:
添加好友:点击添加好友功能选项卡,输入被请求者的邮箱地址,点击发送好友请求,被请求者的邮箱会收到一个用于验证好友请求的验证码,然后被请求者在添加好友功能的验证好友请求中,输入邮箱收到的验证码,就完成了好友验证功能。
实时通讯路径:
实时聊天::用户在好友列表中点击好友头像或用户名,打开聊天窗口。系统加载显示双方的历史聊天记录。用户在输入框中输入文字消息,点击发送按钮,消息会被保存到本地客户端,同时系统将消息转送给对方。 当用户收到新的聊天消息时,若用户在线,系统通过 SignalR 实时通信技术立即将消息推送给用户。
AI助手:当用户有一些未知的疑问时,可以向ai助手提问。
项目角色及参与人数 :该项目由我独立开发完成,我承担了项目经理、后端开发、前端开发、数据库管理员。
技术实现亮点与难点:
前端 :采用 Blazor wasm 技术,实现了单页面应用(SPA)架构,提高了用户体验的流畅性和交互性。Blazor 的组件化开发模式使得前端代码更加模块化、易于维护和扩展。
后端 :基于 ASP.NET Core Web API 构建,具有高性能、跨平台和可扩展性强的特点。利用其内置的依赖注入、中间件等机制,实现了代码的松耦合和高内聚,便于项目的后期维护和升级。
数据库 :使用 SQL Server 作为关系型数据库,存储用户数据、好友关系等信息。通过 EF Core 进行对象关系映射(ORM),简化了数据库操作代码,提高了开发效率。
实时通信 :借助 SignalR 实现了服务器与客户端的双向实时通信,确保了消息的即时传输和接收。SignalR 在处理高并发、低延迟的实时通信场景中表现出色,为项目的实时聊天功能提供了有力支持。
实现亮点 :
实时聊天功能 :通过 SignalR 的实现,用户能够实现实时的文字聊天功能,消息传输快速且稳定,为用户提供了流畅的沟通体验。
实现难点 :
前后端的协同开发与调试 :由于前后端采用了不同的技术栈,确保两者之间的无缝对接和协同工作是一个挑战。通过制定严格的接口规范,使用 Postman 等工具进行接口测试,以及在开发过程中加强沟通和协作,及时解决了前后端联调过程中出现的各种问题,确保了项目的顺利推进。