oxygen/core

The Core Framework For Oxygen


README

phpspec and phpstan

This repository contains the core framework for Oxygen.

Oxygen is a framework for building web applications. At its core, Oxygen is but a small addon to the excellent Laravel Framework, however with the addition of many extensions, Oxygen becomes a full-featured CMS. The modular nature of Oxygen means that you can pick and choose exactly how much you want, and make the framework into your own magnificent creation specifically fine-tuned to business needs.

For example:

  • custom tables to store data: e.g.: inventory stock, concerts, upcoming events, artists, emails, contacts, bookings
  • custom logic to drive business operations.

Framework Structure

All parts of the framework depend on the Laravel framework to varying degrees.

Core packages:

  • oxygen/data - wrapper around Doctrine ORM
  • oxygen/core - core framework, depends on oxygen/data
  • oxygen/crud - scaffolding for Create-Read-Update-Delete operations, depends on oxygen/data and oxygen/core
  • oxygen/preferences - dynamic preferences configuration, depends on oxygen/core, oxygen/data, oxygen/theme
  • oxygen/auth - authentication, depends on oxygen/core, oxygen/data, oxygen/preferences

Basic modules - each of these adds some optional part of the backend interface, they can be mixed and matched as you please.

Things which the CMS can store:

Deprecated:

  • oxygen/theme - theming support - integrated into oxygen/core
  • oxygen/mod-auth - authentication - integrated into oxygen/auth (user-interface into oxygen-cms/ui)
  • oxygen/mod-preferences - preferences UI - integrated into Vue.JS user interface
  • oxygen/mod-dashboard - admin dashboard - integrated into new Vue.JS user interface
  • oxygen/mod-security - a basic log of all login attempts - now integrated into the authentication module
  • oxygen/mod-marketplace - a package marketplace - never took off so decided not worth the maintenance effort

The Stack

Oxygen uses the Laravel PHP framework, which in turn is based off Symfony. As well as Laravel, Oxygen uses countless other PHP packages from Composer, too many to list them all here.

Oxygen is currently undergoing a modernization process to migrate to a swish new user interface written with Vue.js and built with Webpack. Though the individual packages are all currently open-sourced, alas the main application which ties them all together is not. Coming soon...