Project Skeletons¶
Project Skeletons are working applications that are intended to work along with Building Blocks. Since Building Blocks are project-based tutorials, at the end the user will be able to download all of their code into a “skeleton” of a project. The user’s code combined with the skeleton creates a fully functional app that is partially written by the user.
Github Repository¶
To create a Project Skeleton, the best first step is to create a working application. This will be application you essentially want your users to build.
Once you’ve created this application, upload it to Github.
Next, you’ll want to take out the core components that can be written by the user, that will serve as good learning points and turn them into Code Stages in a Building Block.
Connecting The Building Block¶
Once you have your working application built, you’ll want to connect it to a Building Block Tutorial.
Create the Block¶
If you’ve setup your Builder application (Quick Start), you’ll be able to create your own Building Block.
You can create some stages that are designed to help the user learn about the project by having them write code to pass certain test cases.
Setting File Locations¶
For Code Files that will be combined with a Project Skeleton, it is necessary
to set the file_location
property. This property will indicate where
the file will be placed in the project skeleton relative to the base of the project.
Download Stage¶
Once you have finished your Building Block and setup the Code File locations, the final step is to create a Download Stage. This stage will allow your users to pick a project skeleton among your project skeleton(s) to download their code into.
You’ll need to set the Project Skeleton Fields and associate it to a Github repository.
Fields¶
Here are the fields for the embedded project skeleton:
Field | Description |
---|---|
id | Mongo ID identifier |
title | Short Name |
description | Short Explanation of the Skeleton |
ghNodeId | Global Github Identifier |
ghRepoId | Github Repository Identifier |
thumbnailUrl | Image URL to represent the Skeleton |
zipName | The name of the zip folder the user will download the code into |
Example¶
For an example of a Skeleton, see the Escrow React Skeleton which is used for the ChainShot Escrow Building Block.