Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gruvw/storytext
Interactive cross-platform book application basis that combines elements of a messaging app with branching storylines.
https://github.com/gruvw/storytext
book flutter mcq story template
Last synced: 17 days ago
JSON representation
Interactive cross-platform book application basis that combines elements of a messaging app with branching storylines.
- Host: GitHub
- URL: https://github.com/gruvw/storytext
- Owner: gruvw
- Created: 2024-07-18T06:26:20.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-09-07T17:23:10.000Z (4 months ago)
- Last Synced: 2024-12-15T03:43:13.638Z (22 days ago)
- Topics: book, flutter, mcq, story, template
- Language: Dart
- Homepage: https://storytext.gruvw.com/
- Size: 20.2 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# StoryText
Interactive cross-platform book application basis that combines elements of a messaging app with branching storylines.
You can use this base to write any story in a group chat messaging interactive format.
Different virtual personas are interacting as they were chatting all together on a group chat.
The reader can interact by answering some predefined multiple choice questions (MCQ) and altering the course of the story.On the writer side of things, everything is defined in the `content.yaml` file.
You can check a fully featured example [content.yaml](./assets/content/content.yaml).## Features
The StoryText interactive book application currently supports the following features:
- Sending predefined text messages on a chat-like interface
- Multiple personas with profile picture
- Branching storylines with user answered MCQs
- Markdown text messages (hyperlinks, bold, italic, titles, ...)
- Delay for "reading" and "sending" next message (based on text length)
- Fake "is typing" indicator
- "Writer mode" allows to cheat and jump to restart the story at a given message ID (long click on app bar title)
- Persistent storage of current position in the story as well as all explored paths
- Change past choice in previously answered MCQs to explore new paths
- Visual indicator of undiscovered/discovered/current path on MCQs answers
- Send pictures (works offline with assets) along with source linkYou can check the "roadmap" for future features: [project board](https://github.com/users/gruvw/projects/4).
## Live Demo
You can check out a live (very basic) example/demo showing off every feature of StoryText here: .
## Usage
To create your own story using this template you should follow the steps below:
- Fork this repository (click on "Fork" on the GitHub web interface)
- Allow the GitHub action/workflow to run (from the _Actions_ tab on the forked repository)
- Change the content of the CNAME file located at `./web/CNAME` with you own [custom domain for GitHub pages](https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site)
- Manually enable GitHub pages environnement to deploy from the `gh-pages` branch from the settings of the forked repository
- Change the name of your story by changing the text inside double quotes (`"StoryText"`) in the file `./lib/static/values.dart`
- Change the application icon located at `./assets/images/app_icon.png`
- Write your own story using the YAML file located at `./assets/content/content.yaml` - it is prefiled with a basic example to explain the syntax of the file
- Add personas profile pictures to the directory `./assets/images/personas/` before referencing them in the `content.yaml`
- Add story messages pictures to the directory `./assets/images/story/` before referencing them in the `content.yaml`
- The application will get built and deployed to GitHub pages every time new commits are pushed to the repositoryHelpful resources:
- YAML format:
- Markdown format:For more advanced customization or deployment to other platforms, you might need to know more about [Flutter](https://flutter.dev/) and modify the source code directly.
**Note** - You can always get updates with new features from this upstream repository by pressing the "Sync Fork" button on your fork.
## Written with StoryText
You can find below a list of books written using StoryText:
- None yet :)
## Contributions
Feel free to contribute by submitting pull requests, whether to add new features, improve existing functionality, or fix bugs :)
Before opening a new PR, make sure to open an issue to discuss it beforehand (first check if a similar issue does not already exist).