Skip to content

Commit

Permalink
document project structure
Browse files Browse the repository at this point in the history
  • Loading branch information
SillyFreak committed Jun 27, 2020
1 parent 085e7b0 commit 6810ee6
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions docs/README.md
@@ -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


0 comments on commit 6810ee6

Please sign in to comment.