Skip to content

Code Directory Layout

Victoria French edited this page Mar 26, 2016 · 5 revisions

This document is currently under construction and is being used for the development of the multi-tenant architecture of ThunderFlurry. This information is subject to frequent changes during this development cycle.

Guidance and opinions on the development of this feature are welcome. Please visit our readme on how to join the steering committees.

Directory Layout

v0.0.4 - This specification is current with build 0.0.4.

.
├── /build/                     # The folder for compiled output
├── /docs/                      # Documentation files for the project
├── /node_modules/              # 3rd-party libraries and utilities
├── /src/                       # The source code of the application
│   ├── /tenants/               # The source code of the application middleware
│   │   ├── /api/               # The source code of the api server
│   │   │   ├── /constants/     # Constants (action types etc.)
│   │   │   ├── /core/          # Core framework and utility functions
│   │   │   ├── /data/          # GraphQL server schema
│   │   │   ├── /public/        # Static files which are copied into the /build/public/api folder
│   │   │   ├── /routes/        # Api controllers along with the routing information
│   │   │   ├── /config.js      # Global application settings
│   │   │   └── /routes.js      # Universal (isomorphic) application routes
│   │   ├── /app/               # The source code of the app server
│   │   │   |── /actions/       # Action creators that allow to trigger a dispatch to stores
│   │   │   ├── /components/    # React components
│   │   │   ├── /constants/     # Constants (action types etc.)
│   │   │   ├── /content/       # Static content (plain HTML or Markdown, Jade, you name it)
│   │   │   ├── /core/          # Core framework and utility functions
│   │   │   ├── /data/          # GraphQL server schema
│   │   │   ├── /decorators/    # Higher-order React components
│   │   │   ├── /public/        # Static files which are copied into the /build/public/app folder
│   │   │   ├── /routes/        # Page/screen components along with the routing information
│   │   │   ├── /stores/        # Stores contain the application state and logic
│   │   │   ├── /views/         # Express.js views for index and error pages
│   │   │   ├── /client.js      # Client-side startup script
│   │   │   ├── /config.js      # Global application settings
│   │   │   └── /routes.js      # Universal (isomorphic) application routes
│   │   ├── /root/              # The source code of the root server
│   │   │   |── /actions/       # Action creators that allow to trigger a dispatch to stores
│   │   │   ├── /components/    # React components
│   │   │   ├── /constants/     # Constants (action types etc.)
│   │   │   ├── /content/       # Static content (plain HTML or Markdown, Jade, you name it)
│   │   │   ├── /core/          # Core framework and utility functions
│   │   │   ├── /data/          # GraphQL server schema
│   │   │   ├── /decorators/    # Higher-order React components
│   │   │   ├── /public/        # Static files which are copied into the /build/public/root folder
│   │   │   ├── /routes/        # Page/screen components along with the routing information
│   │   │   ├── /stores/        # Stores contain the application state and logic
│   │   │   ├── /views/         # Express.js views for index and error pages
│   │   │   ├── /client.js      # Client-side startup script
│   │   │   ├── /config.js      # Global application settings
│   │   │   └── /routes.js      # Universal (isomorphic) application routes
│   ├── /config.js              # Global application settings
│   ├── /routes.js              # Universal (isomorphic) application routes
│   └── /server.js              # Server-side startup script
├── /tools/                     # Build automation scripts and utilities
│   ├── /lib/                   # Library for utility snippets
│   ├── /build.js               # Builds the project from source to output (build) folder
│   ├── /bundle.js              # Bundles the web resources into package(s) through Webpack
│   ├── /clean.js               # Cleans up the output (build) folder
│   ├── /copy.js                # Copies static files to output (build) folder
│   ├── /deploy.js              # Deploys your web application
│   ├── /run.js                 # Helper function for running build automation tasks
│   ├── /runServer.js           # Launches (or restarts) Node.js server
│   ├── /start.js               # Launches the development web server with "live reload"
│   └── /webpack.config.js      # Configurations for client-side and server-side bundles
└── package.json                # The list of 3rd party libraries and utilities
Clone this wiki locally