Sign inSign up

cryptelic/flutter

By cryptelic

•Updated almost 6 years ago

Image
0

222

cryptelic/flutter repository overview

⁠ ⁠
Open FluffyChat in the browser⁠ - Join the community⁠ - Follow me on Mastodon⁠ - Translate FluffyChat⁠ - Translate the website⁠ - FAQ⁠ - Website⁠ - Download latest APK⁠



⁠Features

  • Single and group chats
  • Send images and files
  • Voice messages
  • Offline chat history
  • Push Notifications
  • Account settings
  • Display user avatars
  • Themes, chat wallpapers and dark mode
  • Device management
  • Edit chat settings and permissions
  • Kick, ban and unban users
  • Display and edit chat topics
  • Change chat & user avatars
  • Archived chats
  • Discover public chats on the user's homeserver
  • Registration
  • Disable account
  • Change password
  • End-To-End-Encryption

⁠How to build

  1. Install flutter⁠

  2. Clone the repo:

git clone --recurse-submodules https://gitlab.com/ChristianPauly/fluffychat-flutter
cd fluffychat-flutter
⁠Android / iOS
  1. For Android install CMake from the SDK Manager

  2. Install ninja:

sudo apt install ninja-build
  1. Outcomment the Google Services plugin at the end of the file android/app/build.gradle:
// apply plugin: "com.google.gms.google-services"
  1. flutter run
⁠Web
  1. flutter channel beta && flutter upgrade

  2. flutter config --enable-web

  3. flutter run

⁠Build the docker image

Use docker build the container image

docker build -t flutter-web .

If you have some problem during cache, you can clean cache by this

docker build --no-cache -t flutter-web .

⁠After Success building image

Run the docker image with localhost 1200 port. You can change to any other port just replace it.

docker run -d -p 1200:80 --name flutter-web flutter-web

Here we go, open browser and go to http://localhost:1200/⁠

⁠How to add translations for your language

You can use Weblate to translate the app to your language:

https://hosted.weblate.org/projects/fluffychat/⁠

  1. Replace the non-translated string in the codebase:
Text("Hello world"),

with a method call:

Text(L10n.of(context).helloWorld),

and add the following import if missing:

import 'package:flutter_gen/gen_l10n/l10n.dart';
  1. Add the string to /lib/l10n/l10n_en.arb:

(The following example need to be sorounded by the usual json {} and after the @@locale key)

Example A:

"helloWorld": "Hello World!",
"@helloWorld": {
  "description": "The conventional newborn programmer greeting"
}

Example B:

"hello": "Hello {userName}",
"@hello": {
  "description": "A message with a single parameter",
  "placeholders": {
    "userName": {
      "type": “String”,
      “example”: “Bob”
    }
  }
}
  1. For testing just run a regular build without extras

⁠Special thanks to

  • Fabiyamada⁠ is a graphics designer from Brasil and has made the fluffychat logo and the banner. Big thanks for her great designs.

  • Advocatux⁠ has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.

  • Thanks to MTRNord and Sorunome for developing.

  • Thanks to Mark for all his support and the chat background.

  • Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.

Tag summary

Content type

Image

Digest

Size

53.6 MB

Last updated

almost 6 years ago

docker pull cryptelic/flutter