Skip to content

SlateFoundation/slate

Repository files navigation

slate

Slate is a free and open online foundation for schools. It is designed to empower students, teachers, and administrators to craft the digital commons of their learning environment from the ground up.

Inspired by Science Leadership Academy founding principal Chris Lehmann's belief that technology [in schools] needs to be like oxygen: ubiquitous, necessary, and invisible, the first version of Slate was launched there in 2010. Since then, dozens of schools and networks of schools have contributed to and built on top of Slate.

Slate isn't a hot new startup or the next tool that does everything. It's an online home base that anchors the shared experience and evolves in place while your learners and educators explore new tools and practices. It's the glue that frees you to plug in and unplug new things others have built, and even build things yourself when you are ready. It's the operating system for your school that belongs to your school and serves no interest but your community's.

Getting started

There are three ways to get started with Slate:

Dependencies

Slate's uses Habitat to provide its development, build, and runtime environments and is the only dependency you need to worry about. Habitat in-turn requires Docker on Mac and Windows workstations to do its thing, and can optionally make use of it on Linux.

Ubuntu Linux

  • Use aptitude to install Git and Docker:

    sudo apt install -y git apt-transport-https ca-certificates curl software-properties-common
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
    sudo apt update
    
    sudo apt install -y docker-ce
  • Use habitat's bootstrap script to install habitat with habitat:

    curl https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh | sudo bash

Mac

  • Install Homebrew

  • Use Homebrew to install Git, Docker, and Habitat:

    brew install git
    brew cask install docker
    brew tap habitat-sh/habitat
    brew install hab

Windows 10 Pro

  • "Pro" edition is required by Docker for its virtualization support

  • Install Chocolatey

  • Use Chocolatey to install Git, Docker, and Habitat:

    choco install git
    choco install docker
    choco install habitat

Set up Source Code Repository

Cloning Slate

To play with or work on Slate's core:

# clone and change into the slate repository
git clone https://github.com/SlateFoundation/slate
cd slate

Extending Slate

To start building your own environment that sits on top of Slate:

# clone and change into the slate repository
git clone https://github.com/SlateFoundation/slate-starter jawnsburghigh
cd jawnsburghigh

TODO: set up slate-starter repository

Launch Developer Studio

The developer studio is a disposable command-line environment for working on the project. Habitat puts it together for you and provides all the packages within it, giving you a lightweight development experience that works consistently across machines and platforms.

Linux / Mac

# expose port 7080 from any Docker container started by Habitat
# - this must be run once in each terminal session
export HAB_DOCKER_OPTS="-p 7080:80"

# launch and enter a Habitat studio
hab studio enter

Windows

# expose port 7080 from any Docker container started by Habitat
# - this must be run once in each terminal session
$env:HAB_DOCKER_OPTS="-p 7080:80"

# launch and enter a Habitat studio, forcing it to be a Docker studio instead a Windows native studio
hab studio -D enter

Run and Edit Slate

# once the studio has finished loading, start all services with a local database
start-all-local

# build and load the site, then wait for file changes
watch-site

At that point you should be able to see an instance at http://localhost:7080 and any edits should be reflected live

Note for Windows users: a workaround is currently required for file watching to work under Docker for Windows

Support

Features

TODO: list features

Supporters

These organizations have contributed the resources to make Slate possible:

Science Leadership Academy

Science Leadership Academy

Building21

Building21

Matchbook Learning

Matchbook Learning

Jarvus Innovations

Jarvus Innovations

TrackJS

Protected by TrackJS JavaScript Error Monitoring