Slibro — a story writing platform

Souvik Biswas - May 12 '22 - - Dev Community

Overview

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.

Slibro cross-platform

The inspiration behind this idea is to simplify the process of story writing, formatting, and publishing to reach a wider audience. Whether you just getting started with your first story or a seasoned writer, Slibro has got you covered!

Submission Category:

Mobile Moguls

Link to Code

The app is completely open sourced, have a look around the code and also feel free to contribute to this project 😉 :

GitHub logo sbis04 / slibro

Platform for story writers and publishing houses

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';
    }
    Enter fullscreen mode Exit fullscreen mode
  5. Run using the following command:

    flutter run
    Enter fullscreen mode Exit fullscreen mode

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…

How it started

I initially started working on the idea of this app by creating rough UI sketches and notes ...

Sketches

... also some database structures.

Database Structures

How it's going

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

Project Description

In this project, 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.

The Flutter plugins used:

The Appwrite console view:

Appwrite console

Two databases are used for this project: (1) stories, and (2) chapters.

Appwrite database

Stories database documents preview:

Stories database

Stories database attributes:

Stories database attributes

Chapters database attributes:

Chapters database attributes

The files storage preview (the chapters are stored as JSON rich text files):

File storage

References

. . . . .
Terabox Video Player