Reactium
  • Quick Start
  • Discuss
  • Approach
    • Architecture
    • DDD Introduction
    • Domain Model
  • Reactium App Foundation
    • Reactium Guides
      • Creating a Simple Single Page Web App (SPA)
      • Creating a Sassy Style Sheet
      • Reactium Core
      • Reactium + Actinium (APIs)
      • Reactium + REST
      • Plugin Module Guide
      • Animating React Routes
      • Reactium in Production
    • Reactium Domain Model
      • Basic Domain Model
      • Runtime Domain Model
      • Buildtime Domain Model
    • Reactium SDK
      • Reactium SDK Reference
    • Updating Reactium
  • Installing Foundations
    • Before You Install
    • Install Reactium
    • Install Actinium
  • Reactium API Foundation (Actinium)
    • Actinium Core
    • Setting up your User
    • Actinium SDK
      • Actinium SDK Reference
    • Actinium Domain Model
    • Extending
    • Updating
    • Live Query
  • Reactium Toolkit
    • Overview
    • Installation
    • Configuration
    • Customization
    • Creating Elements
      • Sidebar Elements
      • Toolbar Elements
      • Documentation Elements
    • Components
      • Sidebar
      • MenuLink
      • Element
      • Code
      • Markdown
      • Icon
    • Toolkit SDK
Powered by GitBook
On this page
  • Hacking Core
  • Environment Variables
  • ACTINIUM_ENV_ID
  • ACTINIUM_ENV_FILE
  • APP_ID
  • APP_NAME
  • APP_PORT
  • CONTENT_NAMESPACE
  • DATABASE_URI
  • LIVE_QUERY_SERVER
  • LIVE_QUERY_SETTINGS
  • LOG
  • LOG_LEVEL
  • MASTER_KEY
  • NO_DOCS
  • PARSE_ALLOW_CLIENT_CLASS_CREATION
  • PARSE_DASHBOARD
  • PARSE_DASHBOARD_USERS
  1. Reactium API Foundation (Actinium)

Actinium Core

A Node/Express framework with built-in Parse Cloud API.

PreviousInstall ActiniumNextSetting up your User

Last updated 2 years ago

Actinium == The Node Express API framework for the Reactium platform. Use me whenever I need a Mongo backed API.

Actinium is built on a core framework, designed to quickly and easily create your Node/Express API with Parse. The local development and build configuration that comes out of the box is meant to be upgradeable, so long as your application was built off a (Semantic Version) that is minor-version compatible with the current.

Even for larger version steps, we are going to attempt to describe (or automate) much of the migration from one version of Actinium core to another.

Updating core is performed with the reactium command:

reactium update

Hacking Core

Core functionality of the Node.js / Express server running Parse Server can be found in the actinium_modules directory. These modules are installed from the Reactium registry much in the way node_modules are installed via npm. Just like you would not modify the contents of modules in node_modules, you should not modify actinium_modules.

The core modules are maintained in the Actinium Modules project on Github. Please feel free to fork and make a Pull-Request if you have any good general purpose ideas.

Actinium's processes and cloud functions are heavily hooked and can easily be altered with and .

Any updates you make to actinium_modules will be ovewritten any time you run reactium install, much as npm install will overwrite node_modules.

Environment Variables

Actinium primarily relies on environment variables for configuration. To ease the pain of setting EVs on every local launch, you can set them in the /src/env.json and/or /src/env.remote.json

Variable

Type

Usage

ACTINIUM_ENV_ID

String

Specifies the env file id to load

ACTINIUM_ENV_FILE

String

Specifies the env file path to load

APP_ID

String

The app identifier

APP_NAME

String

The app name

APP_PORT

Number

Application port

CONTENT_NAMESPACE

String

Namespace for uuid key creation of content slugs

DATABASE_URI

String

Mongo connection string

LIVE_QUERY_SERVER

Boolean

Enable/Disable Live Queries

LIVE_QUERY_SETTINGS

Object

Configuration Object for Live Queries

LOG

Boolean

Enable/Disable event log

LOG_LEVEL

String

Set the event log level

MASTER_KEY

String

String used as the master key for elevated cloud operations

NO_DOCS

Boolean

Enable/Disable the /docs route

PARSE_ALLOW_CLIENT_CLASS_CREATION

Boolean

Enable/Disable class creation from client SDKs

PARSE_DASHBOARD

Boolean

Enable/Disable the Parse Dashboard

PARSE_DASHBOARD_USERS

Array

Parse Dashboard access list

SERVER_URI

String

Public accessible URI to the server

ACTINIUM_ENV_ID

To select the /src/env.remote.json file simply pass remote as the value. You can create any number of env files with the same file naming pattern.

ACTINIUM_ENV_FILE

There maybe instances where your env file is not stored in the Actinium src directory. You can tell Actinium where to load it from by supplying the full path to the file.

Default: /src/env.json

APP_ID

Unique ID for the Parse App. Used when connecting via client SDKs.

Default: Actinium

APP_NAME

Display name used in the Parse Dashboard.

Default: Actinium

APP_PORT

The application port where Actinium will run from.

CONTENT_NAMESPACE

Used as a uuidv5 namespace for the purpose of generating uuids identifying content types.

Given the namespace uuid + a content type slug, will always yield the same exact uuid for that slug and namespace, therefore you can always derive the same uuid given the content type slug.

DATABASE_URI

The MongoDB connection string. Supports standalone, replicant set, and shared clusters.

LIVE_QUERY_SERVER

Default: true

LIVE_QUERY_SETTINGS

Object containing key value pairs specifying configuration for Live Queries

"LIVE_QUERY_SETTINGS": {
    "classNames": ["Changelog"]
},

LOG

By setting this value to false your server will no longer emit event logs.

Default: true

LOG_LEVEL

The level of detail and frequency at which system logs are emitted.

Value

LEVEL

Parse Log Level

DEBUG

1000

verbose or greater

INFO

500

info or greater

BOOT (default)

0

error or greater

WARN

-500

error or greater

ERROR

-1000

error or greater

MASTER_KEY

A key that overrides all permissions. Used for operations that require untethered access to the database.

Important: Keep this secret and use it only on the server.

NO_DOCS

When you deploy Actinium to a production server it's a good idea to disable the /docs route. Unless of course your app is expressly an API and you want to expose the docs for documentation purposes.

Default: false

PARSE_ALLOW_CLIENT_CLASS_CREATION

Set this to true if you want grant client SDKs to the ability to create new collections. This is generally not a common practice as clients may not take into consideration permissions and capabilities.

Default: false

PARSE_DASHBOARD

When you deploy Actinium to a production server it's a good idea to disable the Parse Dashboard.

Default: true

PARSE_DASHBOARD_USERS

Object Array container user, pass key value pairs.

"PARSE_DASHBOARD_USERS": [
    {
        "user": "admin",
        "pass": "admin"
    }
],

Note: Some hosts like will automatically set this value.

See: MongoDB for details

Heroku
Connection String URI Format
semver
plugins
middleware