Skip to content

sbis04/slibro

Repository files navigation

Slibro Codemagic build status

Slibro is a story writing platform that supports short and long format stories. Flutter and Appwrite is used to create this amazing cross-platform experience.

Try out the app on Android from here.

Usage

To run this from your system, you should have:

  1. Flutter SDK installed and configured on your system.

  2. Setup Appwrite using Docker.

  3. Host the server locally using ngrok.

  4. Under lib directory, create a secret.dart file, and add the server URL and Appwrite project ID to it. Example:

    class Secrets {
      static String hostname = 'https://127b-203-163-244-125.in.ngrok.io/v1';
      static String projectID = '6276341092e81e829ab0';
    }
  5. Run using the following command:

    flutter run

App Overview

The app now has full-fledged story editor (rich text - markdown), story reader, and story management system (to manage published/unpublished stories and explore other publisher's stories).

Some glimpses of Slibro's user interface are as follows:

Slibro Auth Screens

The above four screens cover the authentication flow on the app using email/password method. These screens help a user to either create a new account or login using an existing account. Once a user signs up to the app, it navigates to the story creation flow.

Slibro Story Detail Screens

These screens help a user to create the first story as a draft in the Slibro app. The user can also publish the story if wanted.

Slibro Editor and Reader Screens

The editor and the reader screens are the most important ones, the editor also has rich text support using Markdown.

Slibro Dashboard Screens

The three screens (Home, My Stories, and My Profile) shown above are part of the dashboard of the app, user can navigate to any of these using the Navigation bar accessible from these pages.

Navigation bar has a subtle animation to improve the UX of the app:

Navigation bar animation

Appwrite APIs

Three of the major Appwrite APIs are used:

  • Account API: Used for implementing user authentication and user data management.
  • Database API: Used for storing app data related to stories and chapters.
  • Storage API: Used for storing the Rich Text story file in JSON format.

Flutter packages

The following Flutter packages are used to build this app:

License

Copyright 2022 Souvik Biswas

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Releases

No releases published

Packages

No packages published

Languages