写点什么

flutter+go 构建的即时通讯 app,ChatCraft

  • 2024-01-30
    浙江
  • 本文字数:2051 字

    阅读完需:约 7 分钟

flutter+go构建的即时通讯app,ChatCraft


前言

Hi👋all.好久不见,已经两个多月没有发文章了,这段时间一直在反思过去的一年,有好有坏。对博客文章这块我对自己是不满意的,文章的质量参差不齐,有时候在没有好的题材时,我会选择写一些泛泛之谈的文章,只是为了增加一些活跃度。这导致我产出了很多质量不高的文章,而且在一些水文的评论区,我看到了很多"水文"、"毫无营养"、"看完发现自己浪费了 5 分钟"等评论。对这些评论,我将他们作为对我的批评,反思自己的行为和成果是非常重要的。于是我在 2024 年年初发了一个沸点:



决定花更多的时间和精力在每篇文章上,确保它们能够提供有深度和有意义的信息。在反思的过程中,我查看了我所有的文章,然后看到了我“三年前”写的两篇文章:



三年前的我,做了个即时通讯的 demo,但当时想做的其实一款完整即时通讯 App,结果一直到现在都没有开始!那么我想,是时候去实现这个三年前的想法了!

Chat Craft

演示视频

https://www.bilibili.com/video/BV1p4421A7bs/

客户端地址:https://github.com/taxze6/flutter-chat-craft

服务端地址:https://github.com/taxze6/Go-Chat-Craft

Android Apk 体验地址(使用蒲公英内测,如果无法下载则表明达到了 500 次/天的限额):https://www.pgyer.com/XxRr8v

测试账号 1:taxze,密码:123456789

测试账号 2:taxze2,密码:123456789

也可通过邮箱验证码注册账号,建议使用 qq 邮箱或 gmail 邮箱。

Chat-Craft 目前已经实现了即时通讯的基本功能,支持 Android 和 IOS。快来下载并体验吧!

📖 概述

社交应用程序在世界各地都很流行,例如 Facebook、Line、Whatsapp。如果您渴望打造一款独具个性的社交平台,Chat-Craft 项目将是您不可或缺的理想之选。Chat-Craft 是一款跨平台移动应用,采用了 Golang 作为后端服务端技术,以及 Flutter 作为前端客户端技术。该应用旨在提供高效、稳定且跨平台的用户体验,将现代的移动应用开发技术和高性能的后端服务端技术相结合。

在 Chat-Craft 项目中,作者精心雕琢了客户端 UI,灵感汲取于各大即时通讯应用及最新的应用设计规范。这独特的设计巧妙地融合了各方优点,呈现出一种令人愉悦的视觉体验。这样的 UI 不仅为项目赋予了独特的美感,同时也为学习者创造了更为有趣的学习环境。

🎨使用技术



🔨部分页面截图

























🖥️运行项目

首先,请按照下列步骤操作:

1.克隆 GitHub 存储库:首先使用以下命令克隆存储库。

//拉取客户端项目git clone https://github.com/taxze6/flutter-chat-craft.git
//拉取服务端项目gie clone https://github.com/taxze6/Go-Chat-Craft
复制代码

2.检查本地开发环境:确保您拥有 3.16.9 或更高版本的 Flutter 环境和1.19.3或更高版本的 golang。

flutter doctor[!] Flutter (Channel stable, 3.16.9, on Microsoft Windows [版本 10.0.19045.3930], locale zh-CN)[√] Windows Version (Installed version of Windows is version 10 or higher)[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)[√] Chrome - develop for the web[√] Visual Studio - develop Windows apps (Visual Studio Professional 2022 17.6.4)[√] Android Studio (version 4.0)[√] Android Studio (version 2021.2)[√] IntelliJ IDEA Ultimate Edition (version 2020.2)[√] Connected device (3 available)
go versiongo version go1.19.3 windows/386
复制代码

3.加载项目依赖:分别加载 flutter 客户端的依赖和 golang 服务端的依赖。

//加载flutter项目的依赖flutter pub get//查看flutter项目的依赖关系flutter pub deps
//加载golang项目的依赖go mod download//查看golang当前项目的所有依赖go list -m all
复制代码

4.进行项目配置:配置数据库、中间件、ip、运行端口。

//先配置golang项目中的config-debug.yaml//配置项目运行端口、数据库和中间件对应的ip、端口和账号密码port: '8889'host: '127.0.0.1'mysql:  host: '127.0.0.1'  port: '3306'  name: 'chatcraft'  user: 'root'  password: 'root@123321'redis:  host: '127.0.0.1'  port: '6379'rabbitmq:  host: "127.0.0.1"  port: "5672"  user: "guest"  password: "guest"
//再配置flutter项目flutter_chat_craft\lib\common下的ip_config.dartclass IpConfig { //Replace with server address static const ip = "127.0.0.1:8889";}
复制代码

5.对本地的数据库执行 SQL:对 mysql 执行 Go-Chat-Craft 下的 chatcraft.sql

6.运行客户端与服务端项目

🎉未来

一个好的开源项目,一定是长时间的迭代出来的,Chat Craft 作为一个”婴儿“还有着很长的成长道路。然而,正是这种挑战使得它有机会成为一个优秀的开源项目。在接下来的旅程中,Chat Craft 将不断迭代和改进,让我们一起见证它的成长吧!非常欢迎大家参与这款开源项目,有任何改进项目的想法都可以通过 github 的 issuse 告诉我~

🎈最后

这几个月来做开源项目,我发现,开源项目就好像自己的孩子,凝结着你的付出,陪伴着你每个日日夜夜,一次一次的推翻重写,一次一次的否定之前的构思,只想让它更好一些,这些都是工作所不能比拟的~

发布于: 2024-01-30阅读数: 3
用户头像

他日若遂凌云志 敢笑黄巢不丈夫 2020-10-15 加入

曾许少年凌云志,誓做人间第一流. 一起加入Flutter技术交流群532403442 有好多好多滴学习资料喔~ 小T目前主攻Android与Flutter, 通常会搞搞人工智能、SpringBoot 、Mybatiys等.

评论

发布
暂无评论
flutter+go构建的即时通讯app,ChatCraft_golang_编程的平行世界_InfoQ写作社区