/Go-Chat-Craft

Primary LanguageGoApache License 2.0Apache-2.0

back.png

【English | 中文文档

Client project address:https://github.com/taxze6/flutter-chat-craft

Server project address:https://github.com/taxze6/Go-Chat-Craft

Android Apk trial address (using Dandelion internal testing, if it cannot be downloaded, it means the limit of 500 times/day has been reached):

https://www.pgyer.com/XxRr8v

XxRr8v.png

Test account 1:taxze password:123456789

Test account 2:taxze2 password:123456789

You can also register an account through email verification code. It is recommended to use qq email or gmail email.

Chat-Craft has currently implemented the basic functions of instant messaging and supports Android and IOS. Come download and experience it!

🎬Demo video

Click on the picture to view the demonstration video.

Thanks to the friend who helped me make this video. If you also need to make a similar video, you can contact him through this email: tjl2945428088@icloud.com

Demo video

📖 Overview

  • Social apps are popular all over the world such as Facebook, Line, Whatsapp. If you are eager to create a unique social platform, the Chat-Craft project will be an indispensable ideal choice for you. Chat-Craft is a cross-platform mobile application that uses Golang as the back-end server technology and Flutter as the front-end client technology. The application is designed to provide an efficient, stable and cross-platform user experience, combining modern mobile application development technology with high-performance back-end server technology.
  • In the Chat-Craft project, the author carefully crafted the client UI, drawing inspiration from major instant messaging applications and the latest application design specifications. This unique design cleverly combines the advantages of all aspects to present a pleasing visual experience. Such a UI not only gives the project a unique aesthetic, but also creates a more interesting learning environment for learners.

🎨Technology used

技术图.png

🔨Screenshot of part of the page

Splash——欢迎页.png login——登录页.png login——登录页1 – 1.png
OTP.png home.png Chat.png
Chat – 1.png add-friend – 1.png Other-Mine.png
Story details.png Story details – 2.png Story details – 1.png

🖥️Run

To get started, follow these steps:

1.Clone the GitHub Repository: Begin by cloning the repository using the command.

//Pull client project
git clone https://github.com/taxze6/flutter-chat-craft.git

//Pull server project
gie clone https://github.com/taxze6/Go-Chat-Craft

2.Check local development environment: Make sure you have a Flutter environment of version 3.16.9 or higher and a golang version of 1.19.3 or higher.

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 version
go version go1.19.3 windows/386

3. Load project dependencies: Load the dependencies of the flutter client and the dependencies of the golang server respectively.

//Loading the Flutter project dependencies
flutter pub get
//View the dependencies of the flutter project
flutter pub deps

//Load golang project dependencies
go mod download
//View all dependencies of golang's current project
go list -m all

4. Configure the project: Configure database, middleware, IP, and running port.

//First configure config-debug.yaml in the golang project
//Configure the project running port, database and middleware corresponding IP, port and account password
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"

//Then configure ip_config.dart under the flutter project flutter_chat_craft\lib\common
class IpConfig {
  //Replace with server address
  static const ip = "127.0.0.1:8889";
}

5. Execute SQL on the local database: Execute chatcraft.sql under Go-Chat-Craft for mysql. 6. Run client and server projects

🎉Future

A good open source project must be iterated over a long period of time. As a "baby", Chat Craft still has a long way to grow. However, it is this challenge that gives it a chance to become an excellent open source project. In the next journey, Chat Craft will continue to iterate and improve, let us witness its growth together! Everyone is very welcome to participate in this open source project. If you have any ideas for improving the project, please let me know through the issue on github~

🎈At Last

If you encounter any problems with this project, please feel free to add me on WeChat. By the way, there is a WeChat communication group for this project! Welcome to join~

🌱 I'm looking for a Flutter software engineer position in Hangzhou or remotely. Please feel free to contact me.

联系方式