Go to file
2021-11-19 09:24:55 +01:00
app Initial commit. 2021-11-19 09:24:55 +01:00
.clang-format Initial commit. 2021-11-19 09:24:55 +01:00
.gitignore Initial commit. 2021-11-19 09:24:55 +01:00
build.config.example Initial commit. 2021-11-19 09:24:55 +01:00
build.sh Initial commit. 2021-11-19 09:24:55 +01:00
HEADS Initial commit. 2021-11-19 09:24:55 +01:00
LICENSE Initial commit. 2021-11-19 09:24:55 +01:00
main.cpp Initial commit. 2021-11-19 09:24:55 +01:00
migrate.sh Initial commit. 2021-11-19 09:24:55 +01:00
Readme.md Initial commit. 2021-11-19 09:24:55 +01:00
run.sh Initial commit. 2021-11-19 09:24:55 +01:00
SConstruct Initial commit. 2021-11-19 09:24:55 +01:00
wg Initial commit. 2021-11-19 09:24:55 +01:00

CrystalCMS

An old CMS of mine that was originally written for/in laravel now ported to (rcpp_framework)[https://github.com/Relintai/rcpp_framework].

This is highly experimental stuff. It probably shouldn't be used by anyone who's sane.

Note: this readme has been taken from an another project of mine, it will be updated later.

Compilation

Will only work on linux! Works on the rasberry pi.

Dependencies

Arch/Manjaro:

pacman -S --needed scons pkgconf gcc yasm 

Debian/Raspian:

sudo apt-get install build-essential scons pkg-config libudev-dev yasm 

Optionally if you install MariaDB/MySQL and/or PostgreSQL the compile system should pick it up. Make sure to get a version whoch contains the development headers (A bunch of .h files).

Initial setup

clone this repo, then call scons, it will clone rcpp cms into a new engine directory. Run this every time you update the project. You don't have to run it before / between builds.

# git clone https://github.com/Relintai/crystal_cms.git crystal_cms
# cd crystal_cms
# scons

Now you can build the project like: scons bl. ([b]uild [l]inux)

Adding -jX to the build command will run the build on that many threads. Like: scons bl -j4.

# scons bl -j4
- or -
# ./build.sh

Now you can run it.

First run migrations, this will create the necessary database tables:

# ./engine/bin/server m
- or -
# ./migrate.sh

Now you can start the server:

# ./engine/bin/server
- or -
# ./run.sh

Make sure to run it from the project's directory, as it needs data files.

Now just open http://127.0.0.1:8080

You can push floats to the "a/b" MQTT topics, and the new values will be save in the database.sqlite file, and will appear in your browser.

Structure

The main Application implementation is app/ic_application.h.

The main.cpp contains the initialization code for the framework.

The content/www folder is the wwwroot.