The code that runs the ProtoSchool website. Visit https://proto.school for interactive tutorials on decentralized web protocols. Explore IPFS and Filecoin through code challenges, code-free lessons, and local events.
ProtoSchool is an educational community that teaches decentralized web protocols and tools through online tutorials and local events.
This repository is for the main ProtoSchool website, hosted at https://proto.school, where you can explore our self-guided interactive tutorials.
For information on hosting local events, please visit our organizing repo.
For the project roadmap, objectives, and archived meeting notes, please visit our roadmap repo.
Whether you have an idea for a new tutorial or are ready to start building one, you've come to the right place!
First, please read our Designing Tutorials guide, which:
Once you've submitted your proposal for feedback (as described in the Designing Tutorials guide) and are ready to start building, please refer to our Developing Tutorials guide for detailed instructions on:
Just here to help someone proof a PR? Jump to our detailed instructions for running the site locally or follow the condensed steps below:
Clone the repo, install dependencies, check out the appropriate branch, and run the site locally:
$ git clone https://github.com/ProtoSchool/protoschool.github.io.git
$ cd protoschool.github.io
$ git checkout existing-branch-name-from-PR
$ npm install
$ npm start
View the site on localhost at: http://localhost:3000
Only actions taken at the https://proto.school domain affect our main ProtoSchool analytics in Countly.
You can safely experiment with any of the following to send stats to our TEST ProtoSchool dashboard in Countly instead:
We use Cypress and Jest for testing. Please check the documentation here for further details.
Some data, such as the events list, is pulled at build-time from remote sources using Node.js scripts. Please check the documentation here for further details.
ProtoSchool is licensed under the Apache-2.0 and MIT licenses. See LICENSE.md for further detail.