.gitignore000066400000000000000000000003601516620276500130570ustar00rootroot00000000000000/build /node_modules /*.log /*.iws .idea/workspace.xml .idea/tasks.xml .idea/profiles_settings.xml .idea/inspectionProfiles/Project_Default.xml .idea/inspectionProfiles/profiles_settings.xml node_modules/.yarn-integrity package-lock.json .gitmodules000066400000000000000000000021741516620276500132510ustar00rootroot00000000000000[submodule "corifeus-utils"] path=corifeus-utils url=https://github.com/patrikx3/corifeus-utils branch=master [submodule "corifeus-builder"] path=corifeus-builder url=https://github.com/patrikx3/corifeus-builder branch=master [submodule "corifeus-builder-angular"] path=corifeus-builder-angular url=https://github.com/patrikx3/corifeus-builder-angular branch=master [submodule "corifeus-server"] path=corifeus-server url=https://github.com/patrikx3/corifeus-server branch=master [submodule "corifeus-server-deployer"] path=corifeus-server-deployer url=https://github.com/patrikx3/corifeus-server-deployer branch=master [submodule "corifeus-web"] path=corifeus-web url=https://github.com/patrikx3/corifeus-web branch=master [submodule "corifeus-web-material"] path=corifeus-web-material url=https://github.com/patrikx3/corifeus-web-material branch=master [submodule "corifeus-app-web-pages"] path=corifeus-app-web-pages url=https://github.com/patrikx3/corifeus-app-web-pages branch=master [submodule "corifeus-app-server-patrikx3"] path=corifeus-app-server-patrikx3 url=https://github.com/patrikx3/corifeus-app-server-patrikx3 branch=master .idea/000077500000000000000000000000001516620276500120505ustar00rootroot00000000000000.idea/codeStyleSettings.xml000066400000000000000000000004251516620276500162470ustar00rootroot00000000000000 .idea/corifeus.iml000066400000000000000000000005201516620276500143670ustar00rootroot00000000000000 .idea/modules.xml000066400000000000000000000033111516620276500142400ustar00rootroot00000000000000 .idea/php.xml000066400000000000000000000003301516620276500133550ustar00rootroot00000000000000 .idea/vcs.xml000066400000000000000000000014641516620276500133720ustar00rootroot00000000000000 .npmignore000066400000000000000000000002501516620276500130640ustar00rootroot00000000000000/.idea /artifacts /build /Gemfile /_layouts /_site /_includes /test /node_modules /*.iml /*.ipr /*.iws /.travis.yml /.scrutinizer.yml /Gruntfile.js /corifeus-boot.json .scrutinizer.yml000066400000000000000000000010061516620276500142470ustar00rootroot00000000000000checks: javascript: true filter: excluded_paths: - test/* - node_modules/* - build/* - docs/* build: cache: disabled: true environment: google_chrome: use_latest: true dependencies: before: - export LATEST=$(nvm ls-remote | tail -1) - nvm install $LATEST # - nvm use $LATEST - npm install -g grunt-cli tests: override: - command: 'grunt' coverage: file: 'build/coverage/clover.xml' format: 'clover' .travis.yml000066400000000000000000000001231516620276500131750ustar00rootroot00000000000000language: node_js node_js: - "node" before_script: - npm install grunt-cli -g Gruntfile.js000066400000000000000000000022441516620276500133670ustar00rootroot00000000000000const utils = require('corifeus-utils'); module.exports = (grunt) => { const _ = require('lodash'); const builder = require(`corifeus-builder`); const loader = new builder.loader(grunt); loader.js(); grunt.registerTask('cory-load-modules', async function() { const done = this.async(); let replace = ''; let finds = await utils.fs.find({ find: 'package.json', }); finds.forEach((found) => { const pkg = require(found.path); const desc = pkg.description ; replace += `### ${desc} [Wiki](https://pages.corifeus.com/${pkg.name}) - [Github](https://github.com/patrikx3/${pkg.name}) ` }) const config = grunt.config.get('cory-replace'); config['projects'] = { prefix: '[//]: #@corifeus-projects', postfix: '[//]: #@corifeus-projects:end', replace: replace, files: [ 'README.md', ] } grunt.config.set('cory-replace', config) done(); }); grunt.registerTask('default', ['cory-load-modules'].concat(builder.config.task.build.js)); } LICENSE000066400000000000000000000021411516620276500120730ustar00rootroot00000000000000MIT License Copyright (c) 2018 Patrik Laszlo / patrikx3 / https://patrikx3.com and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. README.md000066400000000000000000000136021516620276500123510ustar00rootroot00000000000000[//]: #@corifeus-header [![Build Status](https://travis-ci.org/patrikx3/corifeus.svg?branch=master)](https://travis-ci.org/patrikx3/corifeus) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/patrikx3/corifeus/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/patrikx3/corifeus/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/patrikx3/corifeus/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/patrikx3/corifeus/?branch=master) --- # Corifeus Matrix v1.0.1429-789 This is an open source project. Just code. If you like this code, please add a star in GitHub and you really like, you can donate as well. Thanks you so much! Given, I have my own server, with dynamic IP address, it could happen that the server for about max 5 minutes can not be reachable for the dynamic DNS or very rarely I backup with Clonzilla the SSD or something with the electricity (too much hoovering or cleaning - but I worked on it, so should not happen again), but for some reason, it is not reachable please hang on for 5-30 minutes and it will be back for sure. All my domains (patrikx3.com and corifeus.com) could have errors right now, since I am developing in my free time and you can catch glitches, but usually it is stable (imagine updating everything always, which is weird). ### Node Version Requirement ``` >=8.9.0 ``` ### Built on Node ``` v9.5.0 ``` The ```async``` and ```await``` keywords are required. Install NodeJs: https://nodejs.org/en/download/package-manager/ # Description [//]: #@corifeus-header:end # About ... is a platform for core (auth / REST / CI), CMS, commercial and enterprise resource planning. #### [The name of the platform.](https://en.wikipedia.org/wiki/Coryphaeus) #### [Code style](artifacts/readme/code-style.md) #### [Architecture](artifacts/readme/arthictecture/overview.md) #### [Design Patterns](artifacts/readme/patterns.md) ## Scenarios web, android, ios, cli, rest, cordova, electron ## Code names Matrix, Spectrum, Support, Make, Prototype, Motor, Crusoe, Memory, Forest, Amazing, Split, Insomnia, Tempo, Logico, Waterflood, Elephant, **Bugtron, Reverse, Halite, Micro, Sunday, Forty, Venture, Last, Mafia, Hurricane, Nanometer, Elektra, Backwash, Tension, Lazy, DoinIt, Fresh, Breeze, Breaking, Trubo, Underground, 2Q, White Raven, Fireball, Thunder Cluster, Spawn** ## Agent p3x-robot, corifeus-server-renderer ## Colors Brown and green, like the forest and blue like the sky. ## Frameworks, B2B Scrunitizer, Travis, Github, JSDoc, NPM, Docker, MIT License, Grunt, ES.NEXT, TypeScript, WebPack, Bower, ReactiveX ### Mixed Composable / Pluggable / Patterns / Extensibility / De-couple / Loose-based ## Projects [//]: #@corifeus-projects ### Corifeus Matrix [Wiki](https://pages.corifeus.com/corifeus) - [Github](https://github.com/patrikx3/corifeus) ### Corifeus App Server P3X - Spectrum [Wiki](https://pages.corifeus.com/corifeus-app-server-patrikx3) - [Github](https://github.com/patrikx3/corifeus-app-server-patrikx3) ### Corifeus App Web Pages - Support [Wiki](https://pages.corifeus.com/corifeus-app-web-pages) - [Github](https://github.com/patrikx3/corifeus-app-web-pages) ### Corifeus Builder - Make [Wiki](https://pages.corifeus.com/corifeus-builder) - [Github](https://github.com/patrikx3/corifeus-builder) ### Corifeus Server - Motor [Wiki](https://pages.corifeus.com/corifeus-server) - [Github](https://github.com/patrikx3/corifeus-server) ### Corifeus Builder Angular - Prototype [Wiki](https://pages.corifeus.com/corifeus-builder-angular) - [Github](https://github.com/patrikx3/corifeus-builder-angular) ### Corifeus Server Deployer - Last [Wiki](https://pages.corifeus.com/corifeus-server-deployer) - [Github](https://github.com/patrikx3/corifeus-server-deployer) ### Corifeus Web - Forest [Wiki](https://pages.corifeus.com/corifeus-web) - [Github](https://github.com/patrikx3/corifeus-web) ### Corifeus Utils - Memory [Wiki](https://pages.corifeus.com/corifeus-utils) - [Github](https://github.com/patrikx3/corifeus-utils) ### Corifeus Web Material - Amazing [Wiki](https://pages.corifeus.com/corifeus-web-material) - [Github](https://github.com/patrikx3/corifeus-web-material) [//]: #@corifeus-projects:end # Install Requires minimum NodeJs 7.9.0, GIT and ```npm install -g npm-check-updates yarn grunt-cli``` ## Windows / Powershell ```powershell iwr https://raw.githubusercontent.com/patrikx3/corifeus/master/scripts/init.ps1 -UseBasicParsing | iex # or, add credit $cred = Get-Credential iwr https://git.patrikx3.com/corifeus.git/raw/master/scripts/init.ps1 -Credential $cred -UseBasicParsing | iex ``` ## \*nix / BSD / Bash / Curl ```bash curl -sL https://raw.githubusercontent.com/patrikx3/corifeus/master/scripts/init.sh | bash - # or curl -sL -u patrikx3 https://git.patrikx3.com/corifeus.git/raw/master/scripts/init.sh | bash - ``` # Inception 2016\. December 25. # Sponsors [IntelliJ](https://www.jetbrains.com/buy/opensource/?product=idea) [//]: #@corifeus-footer --- [**CORIFEUS**](https://pages.corifeus.com/corifeus) Build v1.0.1429-789 [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=LFRV89WPRMMVE&lc=HU&item_name=Patrik%20Laszlo&item_number=patrikx3¤cy_code=HUF&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) ## Sponsor [![JetBrains](https://www.patrikx3.com/images/jetbrains-logo.svg)](https://www.jetbrains.com/) [//]: #@corifeus-footer:end artifacts/000077500000000000000000000000001516620276500130505ustar00rootroot00000000000000artifacts/readme/000077500000000000000000000000001516620276500143055ustar00rootroot00000000000000artifacts/readme/arthictecture/000077500000000000000000000000001516620276500171535ustar00rootroot00000000000000artifacts/readme/arthictecture/overview.md000066400000000000000000000051601516620276500213450ustar00rootroot00000000000000[//]: #@corifeus-header ## Corifeus Matrix --- [//]: #@corifeus-header:end # Architecture ![Corifeus Architecture](https://patrikx3.com/files/playground/corifeus-architecture/corifeus-p3x-tdd-component.svg) ## Interoperability * Client * Javascript _latest_ * TypeScript _latest_ * Server * NodeJs * JavaScript * Integration * Joomla * Wordpress * Drupal ## Version control systems * Git ## Documentation * JSDoc ## Template * HTML * Angular Typescript * PDF ## Style * CSS * SASS ## Data * MongoDB / Mongoose * XML * REST ## Development * Skeleton * Iterative * Refactored * Driven * Model * Test * Unit / Behavior / Should - find something simpler than Should, I just need simple asserts * Mocha / Karma / Protractor * **Only test the required specifications, don't test everything** ## Continuous integration / build * Grunt * Travis * Scrutinizer * Docker * WebPack ## Schema / Model * Mongoose * Uses multiple models * master * settings * role * user / role / authentication / categories / tags * commercial / product / order / invoice * erp ## Validation * Shared / Same for client and server ## Internationalization * Shared / Same for client and server ## Live [ReactiveX](http://reactivex.io/) [SocketIO](http://socket.io/) ## Deployment * Server * core * commercial * erp * Client * web angular typescript / angular material typescript * core - login/profile * commercial - product/order/invoice * erp - stock/warehouse ## Scenarios * core + api/commercial + angular/commercial + web * core + api/erp + angular/erp + web * core + api/erp + angular/erp + cordova + ios * core + api/erp + angular/erp + cordova + android * server/commercial + CLI * server/erp + CLI * ... etc ... [//]: #@corifeus-footer --- [**CORIFEUS**](https://pages.corifeus.com/corifeus) Build v1.0.1429-789 [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=LFRV89WPRMMVE&lc=HU&item_name=Patrik%20Laszlo&item_number=patrikx3¤cy_code=HUF&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) ## Sponsor [![JetBrains](https://www.patrikx3.com/images/jetbrains-logo.svg)](https://www.jetbrains.com/) [//]: #@corifeus-footer:endartifacts/readme/code-style.md000066400000000000000000000066311516620276500167050ustar00rootroot00000000000000[//]: #@corifeus-header ## Corifeus Matrix --- [//]: #@corifeus-header:end # Code style ```kabeb-case = meaning-only-lower-case-and-a-z-and-dash-and-numbers``` ```PascalCase = JustAlphaAndAlwaysCapitalWords``` ```camelCase = theFirstIsSmallTheRestIsCapital``` ## CSS Prefix ``` kabeb-case ``` **Prefix so that get away form namespace clashes.** ```.cory = corifeus``` ```css .cory-something { font-family: "Corifeus"; } ``` ## HTML Prefix ``` kabeb-case ``` **Prefix so that get away form namespace clashes.** It is both for tags and attributes. ``cory = corifeus`` ```html ``` ## Url ``` kabeb-case ``` ```bash https://localhost/very-long-sentance/is/just/kebab-case.html ``` ## Path ``` kabeb-case ``` ```bash /module-one/love/live/path.js /try/code-style/by/class.js ``` ## Filename ``` kabeb-case ``` ```bash // function camel-case.js // class pascal-case-is-kebab-as-well.js // html file kabeb-case.html // regular file kebab-case.any kabeb-case.js kabeb-case.pdf kabeb-case.html kabeb-case.css ``` ## Namespace ``` camelCase ``` The namespace = ```corifeus``` ```javascript // JavaScript global.corifeus.camelCase = () => console.log('camelCase'); global.corifeus.camelCase = class camelCaseClass {}; ``` ## Variables ``` camelCase ``` ```javascript // JavaScript const variableIsCool = 'camelCase'; let anotherVariable = false; var oldTypeVariable = 'cool'; ``` ## Functions ``` camelCase ``` ```javascript // JavaScript function justSimpleFunction() { console.log('alsoCamelCase') } ``` ## Prototype based class ``` camelCase ``` ```javascript // JavaScript function prototypeBasedClass() { console.log('likeAClassIsCamelCase'); } prototypeBasedClass.staticFunction = function() {} prototypeBasedClass.staticVariable = true; prototypeBasedClass.prototype.instanceFunction = function() {} prototypeBasedClass.prototype.instanceVariable = true; ``` ## Classes ``` camelCase ``` ```javascript // JavaScript class simpleClass { constructor() {} instanceFunctionCamelCase() {} get instanceProperty() { return true; } set instanceProperty(value) { this._instanceProperty = value; } static classMethod() { console.log('PascalCase'); } static get classProperty() { return 'PascalCase'; } } ``` ## Objects ``` camelCase ``` ```javascript // JavaScript const objects = { variableNow: camelCase, methodName: camelCase, NameOfTheClass: PascalCase, staticFuncitonName: camelCase.static, instance: camelCase.variable } ``` [//]: #@corifeus-footer --- [**CORIFEUS**](https://pages.corifeus.com/corifeus) Build v1.0.1429-789 [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=LFRV89WPRMMVE&lc=HU&item_name=Patrik%20Laszlo&item_number=patrikx3¤cy_code=HUF&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) ## Sponsor [![JetBrains](https://www.patrikx3.com/images/jetbrains-logo.svg)](https://www.jetbrains.com/) [//]: #@corifeus-footer:endartifacts/readme/patterns.md000066400000000000000000000032731516620276500164740ustar00rootroot00000000000000[//]: #@corifeus-header ## Corifeus Matrix --- [//]: #@corifeus-header:end # Patterns * core - implemented in server / client * schema * validation * types * relations by schema * json schema * data * query * paginate / page * limit / max * sort * count * search / find * delete * disable * id * all * last * first * auth * login * logout * live / socket.io / reactivex / observable * model * entity * created * modified * version * disabled * deleted * validation * user * role * category / tag * client * notification / growl / smack - multiple! * angular * virtual list / like facebook list with live update * live / socket.io * form * validation * grid / list / thumbnail * pagination * query / search * sort [//]: #@corifeus-footer --- [**CORIFEUS**](https://pages.corifeus.com/corifeus) Build v1.0.1429-789 [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=LFRV89WPRMMVE&lc=HU&item_name=Patrik%20Laszlo&item_number=patrikx3¤cy_code=HUF&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) ## Sponsor [![JetBrains](https://www.patrikx3.com/images/jetbrains-logo.svg)](https://www.jetbrains.com/) [//]: #@corifeus-footer:endcorifeus-app-server-patrikx3/000077500000000000000000000000001516620276500165345ustar00rootroot00000000000000corifeus-app-web-pages/000077500000000000000000000000001516620276500153355ustar00rootroot00000000000000corifeus-builder/000077500000000000000000000000001516620276500143335ustar00rootroot00000000000000corifeus-builder-angular/000077500000000000000000000000001516620276500157625ustar00rootroot00000000000000corifeus-server/000077500000000000000000000000001516620276500142135ustar00rootroot00000000000000corifeus-server-deployer/000077500000000000000000000000001516620276500160345ustar00rootroot00000000000000corifeus-utils/000077500000000000000000000000001516620276500140455ustar00rootroot00000000000000corifeus-web/000077500000000000000000000000001516620276500134625ustar00rootroot00000000000000corifeus-web-material/000077500000000000000000000000001516620276500152565ustar00rootroot00000000000000corifeus.iml000066400000000000000000000005171516620276500134150ustar00rootroot00000000000000 package.json000066400000000000000000000032231516620276500133560ustar00rootroot00000000000000{ "name": "corifeus", "version": "1.0.1430-789", "corifeus": { "icon": "fa fa-superpowers", "inception": "12/25/2016", "code": "Matrix", "cdn": true, "menu": [ { "name": "menu-corifeus-code-style", "link": "artifacts/readme/code-style.html" }, { "name": "menu-corifeus-architecture", "link": "artifacts/readme/arthictecture/overview.html" }, { "name": "menu-corifeus-patterns", "link": "artifacts/readme/patterns.html" }, { "name": "menu-corifeus-more-origin", "link": "https://en.wikipedia.org/wiki/Coryphaeus" } ], "nodejs": "v9.5.0" }, "description": "Corifeus Matrix", "main": "src/index.js", "directories": { "test": "test" }, "scripts": { "test": "grunt", "coverage": "istanbul cover node_modules/mocha/bin/_mocha --report clover -- -R spec test/mocha/**/*.js" }, "repository": { "type": "git", "url": "git+https://github.com/patrikx3/corifeus.git" }, "keywords": [ "corifeus", "one", "platform" ], "author": "Patrik Laszlo ", "license": "MIT", "bugs": { "url": "https://github.com/patrikx3/corifeus/issues" }, "homepage": "https://pages.corifeus.com/corifeus", "devDependencies": { "corifeus-builder": "^1.7.1209-305", "corifeus-utils": "^1.1.816-286" }, "engines": { "node": ">=8.9.0" } }scripts/000077500000000000000000000000001516620276500125575ustar00rootroot00000000000000scripts/init.ps1000066400000000000000000000003731516620276500141520ustar00rootroot00000000000000 git clone https://github.com/patrikx3/corifeus pushd corifeus git checkout master git submodule update --init --recursive --remote git submodule foreach --recursive git checkout master #yarn install #&git submodule foreach --recursive yarn install scripts/init.sh000077500000000000000000000004161516620276500140620ustar00rootroot00000000000000#!/usr/bin/env bash git clone https://github.com/patrikx3/corifeus.git pushd corifeus git checkout master git submodule update --init --recursive --remote git submodule foreach --recursive git checkout master yarn install git submodule foreach --recursive yarn install src/000077500000000000000000000000001516620276500116575ustar00rootroot00000000000000src/index.js000066400000000000000000000000431516620276500133210ustar00rootroot00000000000000module.exports = console.log('CI');