https://github.com/cproctor/unfold_studio

text and code

https://github.com/cproctor/unfold_studio

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

text and code

Basic Info
  • Host: GitHub
  • Owner: cproctor
  • Language: JavaScript
  • Default Branch: main
  • Size: 5.56 MB
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 0
  • Open Issues: 84
  • Releases: 0
Created about 10 years ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

Unfold Studio

Unfold Studio is an online community for interactive storytelling powered by a programming language called Ink. Interactive storytelling brings together the power of programming with the ability of stories to represent and explore our lived realities. Unfold Studio is free and open-source.

Unfold Studio is used in schools, clubs, and by many individual writers. Interactive storytelling can be a way to integrate Computer Science into English, Social Studies, or other subjects. It can also be an excellent way to introduce Computer Science as a subject relevant to questions of identity, culture, and social justice. (We are currently doing research with a school which uses Unfold Studio for several months as part of its core CS curriculum.)

Unfold Studio's main documentation is at docs.unfold.studio.

Development

Development of Unfold Studio is currently migrating to this repository's issues page. New bug reports should be filed here. There is additional code to support school and teacher features which is not currently open-source.

Setup

These steps should get a development instance running on linux or MacOS.

  1. From bare-bones digital ocean droplet, running as root. Probably not necessary for other contexts.

    apt-get update
    apt-get install python3-venv
    
  2. Basic setup

    cd /opt # (Or wherever you want to install)
    python3 -m venv env
    source env/bin/activate
    git clone https://github.com/cproctor/unfold_studio.git
    cd unfold_studio
    pip install -r requirements.txt
    cp unfold_studio/base_settings.py unfold_studio/settings.py
    python manage.py migrate
    python manage.py collectstatic
    python manage.py runserver
    

This should be enough to get a local server running; you can test it by navigating to http://localhost:8000.

  1. Inklecate

To save (and compile) stories, you'll also need an Inklecate executable, which you can get from https://github.com/inkle/ink/releases. You'll probably have to configure settings.py a bit to get it to work.

  1. Cron jobs

Stories and books are weighted according to priority, which depends on factors defined in settings. Content is subject to 'gravity,' causing older content to fall and make room for newer content.
Therefore, stories need to be re-weighted from time to time. At the same time, when there's a lot of content, it becomes burdensome to re-weight it all every few minutes. The cron jobs below achieve a good compromise, updating the weights of top stories every ten minutes, and then updating all the content once a day.

    0 3 * * * python3 /opt/unfold_studio/manage.py update_story_priority
    */10 * * * * python3 /opt/unfold_studio/manage.py update_story_priority -n 100
    0 * * * * python3 /opt/unfold_studio/manage.py update_book_priority

Owner

  • Name: Chris
  • Login: cproctor
  • Kind: user
  • Location: Buffalo, NY
  • Company: University at Buffalo

Assistant Professor of Learning Sciences @ University at Buffalo. Studying critical computational literacies and K-12 CS education.

GitHub Events

Total
  • Create event: 60
  • Issues event: 44
  • Watch event: 1
  • Delete event: 43
  • Member event: 6
  • Issue comment event: 34
  • Push event: 407
  • Pull request review event: 8
  • Pull request review comment event: 7
  • Pull request event: 98
Last Year
  • Create event: 60
  • Issues event: 44
  • Watch event: 1
  • Delete event: 43
  • Member event: 6
  • Issue comment event: 34
  • Push event: 407
  • Pull request review event: 8
  • Pull request review comment event: 7
  • Pull request event: 98

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 33
  • Total pull requests: 44
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 0.03
  • Average comments per pull request: 0.0
  • Merged pull requests: 35
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 32
  • Pull requests: 44
  • Average time to close issues: 2 months
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 35
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • cproctor (37)
  • vbhtt (4)
  • NeemZ16 (3)
Pull Request Authors
  • asifahmed70707 (34)
  • dependabot[bot] (15)
  • NeemZ16 (5)
  • KavithaVarughese (4)
  • vbhtt (2)
  • cproctor (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (15)

Dependencies

static/lib/ace_src/mode/_test/package.json npm
  • connect
  • socket.io
requirements.txt pypi
  • Babel ==2.6.0
  • Django ==2.2.5
  • Jinja2 ==2.10.1
  • MarkupSafe ==1.0
  • Pillow ==6.2.0
  • PyJWT ==1.7.1
  • PyYAML ==5.1
  • Pygments ==2.2.0
  • Sphinx ==1.8.1
  • Unidecode ==1.0.22
  • Werkzeug ==0.16.0
  • alabaster ==0.7.12
  • appdirs ==1.4.3
  • arrow ==0.13.1
  • awscli ==1.16.266
  • beautifulsoup4 ==4.6.3
  • blist ==1.3.6
  • boto3 ==1.10.2
  • botocore ==1.13.2
  • certifi ==2018.4.16
  • chardet ==3.0.4
  • clipboard ==0.0.4
  • colorama ==0.4.1
  • defusedxml ==0.6.0
  • django-cors-headers ==3.1.1
  • django-debug-toolbar ==1.11
  • django-extensions ==2.1.6
  • django-qr-code ==1.0.0
  • django-reversion ==3.0.3
  • django-storages ==1.7.2
  • docutils ==0.14
  • funcsigs ==1.0.2
  • fuzzywuzzy ==0.17.0
  • idna ==2.6
  • imagesize ==1.1.0
  • isbnlib ==3.8.4
  • jmespath ==0.9.4
  • latexcodec ==1.0.5
  • mock ==2.0.0
  • more-itertools ==4.3.0
  • numpy ==1.15.0
  • oauthlib ==3.0.1
  • oset ==0.1.3
  • packaging ==18.0
  • pandas ==0.23.4
  • pbr ==4.2.0
  • protobuf ==3.6.0
  • psycopg2-binary ==2.8.2
  • pyaml ==17.12.1
  • pyasn1 ==0.4.7
  • pybtex ==0.21
  • pybtex-docutils ==0.2.1
  • pyparsing ==2.3.0
  • pyperclip ==1.7.0
  • python-Levenshtein ==0.12.0
  • python-dateutil ==2.7.5
  • python3-openid ==3.1.0
  • pytz ==2018.7
  • qrcode ==6.1
  • requests ==2.21.0
  • requests-oauthlib ==1.2.0
  • rsa ==3.4.2
  • s3transfer ==0.2.1
  • six ==1.11.0
  • snowballstemmer ==1.2.1
  • social-auth-app-django ==3.1.0
  • social-auth-core ==3.1.0
  • sphinx-rtd-theme ==0.4.2
  • sphinxcontrib-bibtex ==0.4.0
  • sphinxcontrib-websupport ==1.1.0
  • sqlparse ==0.3.0
  • tabulate ==0.8.3
  • tqdm ==4.28.1
  • typing ==3.6.6
  • urllib3 ==1.24.2
  • virtualenv ==16.0.0