Description:
FlyGPT is a ChatGPT-inspired app crafted with Flutter and Serverpod, designed for a seamless multi-platform experience. This project emphasizes the use of code generation with tools like build_runner and custom build_generator to streamline development and optimize performance across mobile, web, and desktop platforms.
This is what it would look like at the end (for version 01). Check image to play the video
- 🧠 AI-Powered Chat: ( Engaging conversational interface, inspired by ChatGPT.
- 🌐 Multi-Platform Compatibility: Effortlessly works on mobile, web, and desktop.
- 🛠️ Serverpod Backend: Robust, scalable backend for real-time communication and API management.
- 🔄 Code Generation: Automated model creation, serialization, and synchronization across client and server.
FlyGPT showcases the potential of code generation to revolutionize Flutter development, creating a unified and optimized development workflow for multi-platform applications. It demonstrates how tools like Serverpod and custom generators can bridge the gap between frontend and backend, improving productivity and maintainability.
- Flutter: Multi-platform UI framework.
- Serverpod: Dart-based backend for server-side logic and real-time communication.
- Build Runner: Automated code generation for Dart.
- Clone the repository:
git clone https://github.com/FlutterPlaza/flygpt.git
Before you begin, ensure the following are installed on your system:
-
Flutter
- Version:
3.20
or higher - Install Flutter
- Version:
-
Docker
- Ensure Docker is installed and running on your system.
- Install Docker
-
Java Development Kit (JDK)
- Version:
17
or higher - Download Java
- Version:
-
Open your terminal or command prompt.
-
Navigate to the directory where you want to store the project.
-
Execute the following command to pull the
starter
branch of the FlyGPT repository:git clone --branch starter https://github.com/FlutterPlaza/flygpt.git
-
Navigate into the project directory:
cd flygpt
To initialize and start the server, follow these steps:
-
Navigate to the server directory:
cd flygpt_server
-
Install dependencies using Dart's package manager:
dart pub get
-
Build and start the server in a detached mode with Docker:
docker compose up --build --detach
-
Apply migrations to the database by running the following command:
dart bin/main.dart --apply-migrations
Note: This step ensures the database schema is updated to the latest version required by the server.
Here's the updated documentation with Step 3 included:
This document outlines the steps to create an app using the FlyGPT framework. Follow each section to ensure proper setup and a smooth workflow.
Before you begin, ensure the following are installed on your system:
-
Flutter
- Version:
3.20
or higher - Install Flutter
- Version:
-
Docker
- Ensure Docker is installed and running on your system.
- Install Docker
-
Java Development Kit (JDK)
- Version:
17
or higher - Download Java
- Version:
-
Open your terminal or command prompt.
-
Navigate to the directory where you want to store the project.
-
Execute the following command to pull the
starter
branch of the FlyGPT repository:git clone --branch starter https://github.com/FlutterPlaza/flygpt.git
-
Navigate into the project directory:
cd flygpt
To initialize and start the server, follow these steps:
-
Navigate to the server directory:
cd flygpt_server
-
Install dependencies using Dart's package manager:
dart pub get
-
Build and start the server in a detached mode with Docker:
docker compose up --build --detach
-
Apply migrations to the database by running the following command:
dart bin/main.dart --apply-migrations
Note: This step ensures the database schema is updated to the latest version required by the server.
-
Navigate to the Flutter project directory:
cd ../flygpt_flutter
-
Run the Flutter application:
flutter run
-
Verify that the app connects successfully to the server. The expected output should resemble the following image:
Tip: If the app fails to connect, double-check that the server is running and accessible.
We welcome contributions! Whether you're fixing bugs, adding features, or suggesting improvements, your input is valuable. Fork the repository and open a pull request.
© 2024 FlutterPlaza. All rights reserved. FlyGPT is maintained by FlutterPlaza and its contributors.
Transform your Flutter development with FlyGPT – the future of code-generated, multi-platform apps! 🚀