Skip to content

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.

License

Notifications You must be signed in to change notification settings

FlutterPlaza/flygpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

FlyGPT

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

Video Thumbnail

Features

  • 🧠 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.

Why FlyGPT?

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.

Tech Stack

  • Flutter: Multi-platform UI framework.
  • Serverpod: Dart-based backend for server-side logic and real-time communication.
  • Build Runner: Automated code generation for Dart.

Getting Started

  1. Clone the repository:
    git clone https://github.com/FlutterPlaza/flygpt.git
    
    

Prerequisites

Before you begin, ensure the following are installed on your system:

  1. Flutter

  2. Docker

    • Ensure Docker is installed and running on your system.
    • Install Docker
  3. Java Development Kit (JDK)


Step 1: Clone the Repository

  1. Open your terminal or command prompt.

  2. Navigate to the directory where you want to store the project.

  3. Execute the following command to pull the starter branch of the FlyGPT repository:

    git clone --branch starter https://github.com/FlutterPlaza/flygpt.git
  4. Navigate into the project directory:

    cd flygpt

Step 2: Start the Server

To initialize and start the server, follow these steps:

  1. Navigate to the server directory:

    cd flygpt_server
  2. Install dependencies using Dart's package manager:

    dart pub get
  3. Build and start the server in a detached mode with Docker:

    docker compose up --build --detach
  4. 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:


FlyGPT App Creation Process

This document outlines the steps to create an app using the FlyGPT framework. Follow each section to ensure proper setup and a smooth workflow.


Prerequisites

Before you begin, ensure the following are installed on your system:

  1. Flutter

  2. Docker

    • Ensure Docker is installed and running on your system.
    • Install Docker
  3. Java Development Kit (JDK)


Step 1: Clone the Repository

  1. Open your terminal or command prompt.

  2. Navigate to the directory where you want to store the project.

  3. Execute the following command to pull the starter branch of the FlyGPT repository:

    git clone --branch starter https://github.com/FlutterPlaza/flygpt.git
  4. Navigate into the project directory:

    cd flygpt

Step 2: Start the Server

To initialize and start the server, follow these steps:

  1. Navigate to the server directory:

    cd flygpt_server
  2. Install dependencies using Dart's package manager:

    dart pub get
  3. Build and start the server in a detached mode with Docker:

    docker compose up --build --detach
  4. 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.


Step 3: Run the Flutter Application

  1. Navigate to the Flutter project directory:

    cd ../flygpt_flutter
  2. Run the Flutter application:

    flutter run
  3. Verify that the app connects successfully to the server. The expected output should resemble the following image:

    Expected Result

    Tip: If the app fails to connect, double-check that the server is running and accessible.

Contributions

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! 🚀

About

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.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published