{"id":23288248,"url":"https://github.com/gruvw/storytext","last_synced_at":"2026-04-29T17:06:50.742Z","repository":{"id":248982560,"uuid":"830368937","full_name":"gruvw/storytext","owner":"gruvw","description":"Interactive cross-platform book application basis that combines elements of a messaging app with branching storylines.","archived":false,"fork":false,"pushed_at":"2024-09-07T17:23:10.000Z","size":21143,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-13T16:46:10.868Z","etag":null,"topics":["book","flutter","mcq","story","template"],"latest_commit_sha":null,"homepage":"https://storytext.gruvw.com/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gruvw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-18T06:26:20.000Z","updated_at":"2025-09-30T02:27:38.000Z","dependencies_parsed_at":"2024-07-18T08:44:03.985Z","dependency_job_id":"b9ad67f4-826d-4672-80dc-a8690b444067","html_url":"https://github.com/gruvw/storytext","commit_stats":null,"previous_names":["gruvw/storytext"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gruvw/storytext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruvw%2Fstorytext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruvw%2Fstorytext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruvw%2Fstorytext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruvw%2Fstorytext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gruvw","download_url":"https://codeload.github.com/gruvw/storytext/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruvw%2Fstorytext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32435177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book","flutter","mcq","story","template"],"created_at":"2024-12-20T03:15:44.145Z","updated_at":"2026-04-29T17:06:50.715Z","avatar_url":"https://github.com/gruvw.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StoryText\n\nInteractive cross-platform book application basis that combines elements of a messaging app with branching storylines.\n\nYou can use this base to write any story in a group chat messaging interactive format.\nDifferent virtual personas are interacting as they were chatting all together on a group chat.\nThe reader can interact by answering some predefined multiple choice questions (MCQ) and altering the course of the story.\n\n\u003cimg src=\"./docs/img/chat.png\" alt=\"Example chat\" width=\"250px\"\u003e\n\nOn the writer side of things, everything is defined in the `content.yaml` file.\nYou can check a fully featured example [content.yaml](./assets/content/content.yaml).\n\n## Features\n\nThe StoryText interactive book application currently supports the following features:\n\n- Sending predefined text messages on a chat-like interface\n- Multiple personas with profile picture\n- Branching storylines with user answered MCQs\n- Markdown text messages (hyperlinks, bold, italic, titles, ...)\n- Delay for \"reading\" and \"sending\" next message (based on text length)\n- Fake \"is typing\" indicator\n- \"Writer mode\" allows to cheat and jump to restart the story at a given message ID (long click on app bar title)\n- Persistent storage of current position in the story as well as all explored paths\n- Change past choice in previously answered MCQs to explore new paths\n- Visual indicator of undiscovered/discovered/current path on MCQs answers\n- Send pictures (works offline with assets) along with source link\n\nYou can check the \"roadmap\" for future features: [project board](https://github.com/users/gruvw/projects/4).\n\n## Live Demo\n\nYou can check out a live (very basic) example/demo showing off every feature of StoryText here: \u003chttps://storytext.gruvw.com/\u003e.\n\n## Usage\n\nTo create your own story using this template you should follow the steps below:\n\n- Fork this repository \u003chttps://github.com/gruvw/storytext\u003e (click on \"Fork\" on the GitHub web interface)\n- Allow the GitHub action/workflow to run (from the _Actions_ tab on the forked repository)\n- 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)\n- Manually enable GitHub pages environnement to deploy from the `gh-pages` branch from the settings of the forked repository\n- Change the name of your story by changing the text inside double quotes (`\"StoryText\"`) in the file `./lib/static/values.dart`\n- Change the application icon located at `./assets/images/app_icon.png`\n- 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\n- Add personas profile pictures to the directory `./assets/images/personas/` before referencing them in the `content.yaml`\n- Add story messages pictures to the directory `./assets/images/story/` before referencing them in the `content.yaml`\n- The application will get built and deployed to GitHub pages every time new commits are pushed to the repository\n\nHelpful resources:\n\n- YAML format: \u003chttps://yaml.org/spec/1.2.2/\u003e\n- Markdown format: \u003chttps://www.markdownguide.org/getting-started/\u003e\n\nFor 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.\n\n**Note** - You can always get updates with new features from this upstream repository by pressing the \"Sync Fork\" button on your fork.\n\n## Written with StoryText\n\nYou can find below a list of books written using StoryText:\n\n- None yet :)\n\n## Contributions\n\nFeel free to contribute by submitting pull requests, whether to add new features, improve existing functionality, or fix bugs :)\n\nBefore opening a new PR, make sure to open an issue to discuss it beforehand (first check if a similar issue does not already exist).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgruvw%2Fstorytext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgruvw%2Fstorytext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgruvw%2Fstorytext/lists"}