【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):
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!
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: [email protected]
- 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.
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
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~
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.