Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
085e7b0
commit 6810ee6
Showing
1 changed file
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Developer Documentation | ||
|
||
This directory contains developer documentation for the Hedgehog IDE. | ||
It covers general information on the architecture, code style recommendations and APIs. | ||
|
||
## Project structure | ||
|
||
Hedgehog IDE is originally based on [React Starter Kit](https://github.com/kriasoft/react-starter-kit/) but has departed from its structure in places. | ||
|
||
- `HedgehogIDE` | ||
- `.vscode`: | ||
VS Code IDE configuration | ||
- `build`: | ||
output of the build process | ||
- `docs`: | ||
this directory | ||
- `favicons`: | ||
favicon package generated by https://realfavicongenerator.net/ | ||
- `flow-typed`: | ||
[Flow](https://flow.org/) type definitions of external packages | ||
- `gsl_blockly`: | ||
[gsl](https://github.com/SillyFreak/gsl/) code generator for the [Blockly](https://developers.google.com/blockly/) language of the Hedgehog IDE | ||
- `gsl_sdk`: | ||
[gsl](https://github.com/SillyFreak/gsl/) code generator for the plugin SDK of the IDE | ||
- `mongodb`: | ||
mongodb data directory used when using `yarn mongod` | ||
- `node_modules` | ||
- `public`: | ||
static ressources; mainly favicon variations, but also manifest files | ||
- `src` | ||
- `client`: | ||
browser entry point; setting up React rendering in the browser | ||
- `components`: | ||
frontend logic of the Hedgehog IDE; will be expanded upon later | ||
- `core`: | ||
shared logic between client and server; mostly data model definitions | ||
- `executor`: | ||
an additional browser entry point for the code execution iframes | ||
- `sdk`: APIs for calling IDE function from an execution iframe | ||
- `routes`: | ||
route definitions for [universal-router](https://github.com/kriasoft/universal-router) | ||
- `sdk`: | ||
API definitions exposed to the execution iframes | ||
- `server`: | ||
backend logic including SSR, GraphQL API and MongoDB persistence | ||
- `serviceworker`: | ||
[https://developers.google.com/web/tools/workbox](Workbox)-based service worker for offline functionality | ||
- `tools`: | ||
see also the `tools` directory below: extracted tools for use in the production environment | ||
- `translations`: | ||
language files for [react-intl](https://www.npmjs.com/package/react-intl) | ||
- `template`: | ||
React Starter Kit documentation files | ||
- `test`: | ||
Tests | ||
- `tools`: | ||
Build scripts | ||
|
||
|