Skip to content
Siberian Single App Edition (SAE), free and open-source app builder.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin feat: add context for all translations Apr 1, 2019
ci fix: class aliases Jan 30, 2019
docs fix: moved docs folder to root, change README.md title Nov 14, 2017
ionic chore: prepped platforms Apr 15, 2019
modules feat: changes for 4.13.20 May 28, 2018
platforms chore: add ionic & resources Nov 9, 2017
plugins
resources feat: font resources Jan 31, 2019
siberian feat: bump Version.sample.php to 4.16.6 Apr 17, 2019
.eslintrc.js feat: builder script, ionic serve watcher, clean-up un-necessary non-… Nov 17, 2017
.gitignore
CONTRIBUTING.md feat: adjust paths for the simplified sb cli Nov 9, 2017
LICENSE feat: app, cli import Nov 9, 2017
README.md feat: updates README.md Sep 28, 2018
package.json v4.16.6 Apr 15, 2019
phpcs.xml chore: php & js linter files Nov 9, 2017
sb
submodules.json fix: scss compilation issues Dec 11, 2018

README.md

Siberian: SAE (Single App Edition)

Public Roadmap

welcome

Documentation

Requirements

Software

  • Recommended OS: Linux

  • NodeJS

  • OpenSSL >=1.0.1

    • with TLS v1.2 support
  • Apache or Nginx

  • PHP

    • version: >=5.6, <= 7.0

    • extensions: gd, pdo_mysql, SimpleXML, curl, dom, SQLite3.

    • functions: exec()

    • parameters: allow_url_fopen = On, memory_limit >= 128M, post_max_size = 100M, upload_max_filesize = 100m, max_execution_time = 300

  • MySQL/MariaDB >=5.5 with InnoDB/XtraDB engine

  • Binaries:

    • required: zip, unzip

    • optional: pngquant or optipng, jpegoptim, ClamAV

Configuration

  1. First you will need to either checkout the project git clone https://github.com/Xtraball/Siberian.git

    or download the zip archive then extract it on your webserver.

  2. Run npm install then follow the instructions to update your local shell.

  3. Go into ionic folder then run npm install too.

  4. Run ./bin/install to hook custom modifications on the installed node_modules.

  5. Run ./sb init to init your local project.

  6. Configure your environment with either apache or nginx with the given generated templates from step 4.

When you're done with the previous steps, reload your web server, then install using the Web installer

Web installer

  • Go to http://yourdomain.tld then follow the instructions

welcome

Developer package & resources.


Developers

Platforms

If a custom development is needed for a platform, cd to the folder, then push to the local platform, the branch is named siberian

  • Platforms templates used to build/rebuild are installed from this directory, this ensure the platforms are synced & up-to-date everytime.

  • Browser platforms/Browser

  • Android platforms/Android

  • iOS platforms/Ios

  • Rebuilding a platform

    1. run siberian rebuild platformName where platformName is android | ios | browser

Note: Important

Siberian uses Cordova for its applications base, we provide pre-built android & ios binaries for convenience as not everyone owns and can build using a Mac.

If you need to rebuild native source code for all platforms, you must have a Mac and Xcode with the Command-Line Tools installed.

Pre-built binaries allows you to customize all the HTML/JS/CSS Stack of the Apps without the need of a Mac.

Plugins

Every plugin used in the project is forked on GitHub, they are added as submodules in the folder plugins

A default branch named siberian is used to track and lock our modifications.

Modules

Our standalone modules are tracked into the folder modules every module has it's own git, and is versioned independantly of the Siberian Editions

Siberian command-line interface Help

Available commands are:

Command Description
alias Prints bash aliases to help development
clearcache, cc Clear siberian/var/cache
clearlog, cl Clear siberian/var/log
cleanlang Clean-up duplicates & sort languages CSV files
db Check if databases exists, otherwise create them
export-db Export db tables to schema files
init Initializes DB, project, settings.
install Install forks for cordova-lib.
icons Build ionicons font
- install: install required dependencies (OSX Only).
icons [install]
ions Start ionic serve in background
rebuild Rebuild a platform (requires Android SDK & Xcode, Command-Line Tools):
- debug: option will show more informations.
- copy: copy platform to siberian/var/apps.
- no-manifest: don't call the rebuild manifest hook.
rebuild [copy] [debug] [no-manifest]
rebuild-all Rebuild all platforms (requires Android SDK & Xcode, Command-Line Tools)
syncmodule, sm Resync a module in the Application
type Switch the Application type 'sae
note: clearcache is called when changing type.
- reset: optional, will set is_installed to 0.
- empty: optional, clear all the database.
type [type] [reset] [empty]
test Test PHP syntax
pack Pack a module into zip, file is located in ./packages/modules/
- If using from a module forlders module_name is optional
pack <module_name>
packall Pack all referenced modules
prepare Prepare a platform (Doesn't requires Android SDK & Xcode, it's suitable for any HTML/JS/CSS Customization in the Apps):
- debug: option will show more informations.
- copy: copy platform to siberian/var/apps.
- no-manifest: don't call the rebuild manifest hook.
prepare [copy] [debug] [no-manifest]
manifest Rebuilds app manifest
moduleversion, mver Update all module version to or only the specified one, in database.
- module_name is case-insensitive and is searched with LIKE %module_name%
- module_name is optional and if empty all modules versions are changed
moduleversion [module_name]
npm Hook for npm version.
npm
prod Switch the Application mode to 'production'.
dev Switch the Application mode to 'development'.
version Prints the current Siberia version.
linkmodule, lm Symlink a module from ./modules/ to ./siberian/app/local/modules/
lm
unlinkmodule, ulm Remove module symlink
ulm
syncmodule, sm Sync all sub-modules/platforms/plugins from git
You can’t perform that action at this time.