mirror of
https://github.com/janishutz/libreevent.git
synced 2025-11-25 21:34:24 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c074d6c025 | |||
| a68e42c4bb | |||
| 688b0616cc | |||
| 4d0b8eb1cb | |||
| 80ddf3fac9 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -24,5 +24,6 @@ node_modules
|
|||||||
*.synctex.gz
|
*.synctex.gz
|
||||||
*.fdb_latexmk
|
*.fdb_latexmk
|
||||||
._wordcount_selection.tex
|
._wordcount_selection.tex
|
||||||
|
/*.zip
|
||||||
|
|
||||||
AppMarketing
|
AppMarketing
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"description": "A free and open source event management solution",
|
"description": "A free and open source event management solution",
|
||||||
"main": "/dist/app.js",
|
"main": "/dist/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
12
package.sh
12
package.sh
@@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
v="V1.0.6"
|
v="V1.1.0"
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
_ _ _ _
|
_ _ _ _
|
||||||
@@ -154,8 +154,12 @@ zip -9r libreevent-$v-full-icu.zip src/server/package.json src/server/package-lo
|
|||||||
cd src/server
|
cd src/server
|
||||||
npm uninstall full-icu
|
npm uninstall full-icu
|
||||||
|
|
||||||
cd ../../
|
cd ../../dist
|
||||||
rm -rf dist
|
cp ../README.md .
|
||||||
|
|
||||||
|
ls
|
||||||
|
|
||||||
|
# rm -rf dist
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
|
|
||||||
@@ -177,5 +181,7 @@ echo "
|
|||||||
Next steps:
|
Next steps:
|
||||||
- Check that everything was packaged correctly
|
- Check that everything was packaged correctly
|
||||||
- Create a release on GitHub
|
- Create a release on GitHub
|
||||||
|
- Run 'cd dist && npm publish'
|
||||||
|
- Delete all newly spawned files
|
||||||
|
|
||||||
"
|
"
|
||||||
16
simple/index.js
Normal file
16
simple/index.js
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* libreevent - index.js
|
||||||
|
*
|
||||||
|
* Created by Janis Hutz 08/26/2024, Licensed under the GPL V3 License
|
||||||
|
* https://janishutz.com, development@janishutz.com
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
This file is a wrapper for the npm package
|
||||||
|
*/
|
||||||
|
|
||||||
|
const libreevent = require( 'libreevent' );
|
||||||
|
|
||||||
|
libreevent.run();
|
||||||
23
simple/package.json
Normal file
23
simple/package.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "libreevent-simple",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Simplify libreevent's install using the npm package",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/janishutz/libreevent.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"libreevent",
|
||||||
|
"simple"
|
||||||
|
],
|
||||||
|
"author": "Janis Hutz",
|
||||||
|
"license": "GPL-3.0-or-later",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/janishutz/libreevent/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://libreevent.janishutz.com"
|
||||||
|
}
|
||||||
10
src/apps/Android/.idea/deploymentTargetSelector.xml
generated
Normal file
10
src/apps/Android/.idea/deploymentTargetSelector.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="deploymentTargetSelector">
|
||||||
|
<selectionStates>
|
||||||
|
<SelectionState runConfigName="app">
|
||||||
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
|
</SelectionState>
|
||||||
|
</selectionStates>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
5
src/apps/Android/.idea/gradle.xml
generated
5
src/apps/Android/.idea/gradle.xml
generated
@@ -4,16 +4,15 @@
|
|||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
<option name="testRunner" value="GRADLE" />
|
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="gradleJvm" value="jbr-17" />
|
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
<set>
|
<set>
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
<option value="$PROJECT_DIR$/app" />
|
<option value="$PROJECT_DIR$/app" />
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="resolveExternalAnnotations" value="false" />
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
10
src/apps/Android/.idea/migrations.xml
generated
Normal file
10
src/apps/Android/.idea/migrations.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectMigrations">
|
||||||
|
<option name="MigrateToGradleLocalJavaHome">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
252
src/apps/Android/.idea/other.xml
generated
Normal file
252
src/apps/Android/.idea/other.xml
generated
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="direct_access_persist.xml">
|
||||||
|
<option name="deviceSelectionList">
|
||||||
|
<list>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="27" />
|
||||||
|
<option name="brand" value="DOCOMO" />
|
||||||
|
<option name="codename" value="F01L" />
|
||||||
|
<option name="id" value="F01L" />
|
||||||
|
<option name="manufacturer" value="FUJITSU" />
|
||||||
|
<option name="name" value="F-01L" />
|
||||||
|
<option name="screenDensity" value="360" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1280" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="28" />
|
||||||
|
<option name="brand" value="DOCOMO" />
|
||||||
|
<option name="codename" value="SH-01L" />
|
||||||
|
<option name="id" value="SH-01L" />
|
||||||
|
<option name="manufacturer" value="SHARP" />
|
||||||
|
<option name="name" value="AQUOS sense2 SH-01L" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2160" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="a51" />
|
||||||
|
<option name="id" value="a51" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy A51" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="akita" />
|
||||||
|
<option name="id" value="akita" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="b0q" />
|
||||||
|
<option name="id" value="b0q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S22 Ultra" />
|
||||||
|
<option name="screenDensity" value="600" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3088" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="32" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="bluejay" />
|
||||||
|
<option name="id" value="bluejay" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 6a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="29" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="crownqlteue" />
|
||||||
|
<option name="id" value="crownqlteue" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Note9" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2220" />
|
||||||
|
<option name="screenY" value="1080" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="dm3q" />
|
||||||
|
<option name="id" value="dm3q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S23 Ultra" />
|
||||||
|
<option name="screenDensity" value="600" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3088" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix" />
|
||||||
|
<option name="id" value="felix" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix_camera" />
|
||||||
|
<option name="id" value="felix_camera" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold (Camera-enabled)" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="gts8uwifi" />
|
||||||
|
<option name="id" value="gts8uwifi" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Tab S8 Ultra" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="1848" />
|
||||||
|
<option name="screenY" value="2960" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="husky" />
|
||||||
|
<option name="id" value="husky" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8 Pro" />
|
||||||
|
<option name="screenDensity" value="390" />
|
||||||
|
<option name="screenX" value="1008" />
|
||||||
|
<option name="screenY" value="2244" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="motorola" />
|
||||||
|
<option name="codename" value="java" />
|
||||||
|
<option name="id" value="java" />
|
||||||
|
<option name="manufacturer" value="Motorola" />
|
||||||
|
<option name="name" value="G20" />
|
||||||
|
<option name="screenDensity" value="280" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1600" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="lynx" />
|
||||||
|
<option name="id" value="lynx" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 7a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="oriole" />
|
||||||
|
<option name="id" value="oriole" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 6" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="panther" />
|
||||||
|
<option name="id" value="panther" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 7" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="q5q" />
|
||||||
|
<option name="id" value="q5q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Z Fold5" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1812" />
|
||||||
|
<option name="screenY" value="2176" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="r11" />
|
||||||
|
<option name="id" value="r11" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Watch" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="384" />
|
||||||
|
<option name="screenY" value="384" />
|
||||||
|
<option name="type" value="WEAR_OS" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="redfin" />
|
||||||
|
<option name="id" value="redfin" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 5" />
|
||||||
|
<option name="screenDensity" value="440" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2340" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="shiba" />
|
||||||
|
<option name="id" value="shiba" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="tangorpro" />
|
||||||
|
<option name="id" value="tangorpro" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Tablet" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="1600" />
|
||||||
|
<option name="screenY" value="2560" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="29" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="x1q" />
|
||||||
|
<option name="id" value="x1q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S20" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3200" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application") version "8.1.1" apply false
|
id("com.android.application") version "8.5.2" apply false
|
||||||
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
|
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#Sun Sep 03 11:15:46 CEST 2023
|
#Sun Sep 03 11:15:46 CEST 2023
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@@ -1,114 +0,0 @@
|
|||||||
/*
|
|
||||||
* libreevent - app.js
|
|
||||||
*
|
|
||||||
* Created by Janis Hutz 02/26/2023, Licensed under the GPL V3 License
|
|
||||||
* https://janishutz.com, development@janishutz.com
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
const express = require( 'express' );
|
|
||||||
let app = express();
|
|
||||||
const path = require( 'path' );
|
|
||||||
const expressSession = require( 'express-session' );
|
|
||||||
const cookieParser = require( 'cookie-parser' );
|
|
||||||
const http = require( 'http' );
|
|
||||||
const fs = require( 'fs' );
|
|
||||||
const token = require( './backend/token.js' );
|
|
||||||
|
|
||||||
console.log( `
|
|
||||||
|
|
||||||
_ _ _ _
|
|
||||||
| (_) | | |
|
|
||||||
| |_| |__ _ __ ___ _____ _____ _ __ | |_
|
|
||||||
| | | '_ \\| '__/ _ \\/ _ \\ \\ / / _ \\ '_ \\| __|
|
|
||||||
| | | |_) | | | __/ __/\\ V / __/ | | | |_
|
|
||||||
|_|_|_.__/|_| \\___|\\___| \\_/ \\___|_| |_|\\__|
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
==> Welcome to libreevent!
|
|
||||||
|
|
||||||
|
|
||||||
==> You are running Version V1.0.0
|
|
||||||
|
|
||||||
Below you can see all important things that happen during operation.
|
|
||||||
libreevent logs all errors in the console such that they appear in the
|
|
||||||
log files when running it with an output pipe (which you should definitely do)
|
|
||||||
|
|
||||||
To do this run the following command when starting libreevent:
|
|
||||||
'node app.js > libreevent_log.txt'
|
|
||||||
|
|
||||||
` );
|
|
||||||
|
|
||||||
console.log( '[ Server ] loading settings' );
|
|
||||||
const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/config/settings.config.json' ) ) );
|
|
||||||
|
|
||||||
|
|
||||||
// Route for static html file for start page (page is compiled using
|
|
||||||
// Vue SSR and gets its support files (e.g. CSS and JS files) from
|
|
||||||
// the /home/supportFiles/:file route plus its assets from the /otherAssets/:file
|
|
||||||
// route).
|
|
||||||
if ( settings.setupDone ) {
|
|
||||||
app.get( '/', ( req, res ) => {
|
|
||||||
res.sendFile( path.join( __dirname + '/ui/home/active/en/index.html' ) );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Set up static routes for static file serving (performance wise not
|
|
||||||
// that good, but way easier to set up)
|
|
||||||
console.log( '[ Server ] Setting up static routes' );
|
|
||||||
if ( settings.setupDone ) {
|
|
||||||
app.use( express.static( 'webapp/main/dist' ) );
|
|
||||||
} else {
|
|
||||||
app.use( express.static( 'webapp/setup/dist' ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
// initialise express with middlewares
|
|
||||||
console.log( '[ Server ] loading and initializing middlewares' );
|
|
||||||
app.use( expressSession( {
|
|
||||||
secret: token.generateToken( 60 ),
|
|
||||||
resave: false,
|
|
||||||
saveUninitialized: true,
|
|
||||||
cookie: {
|
|
||||||
sameSite: 'none',
|
|
||||||
httpOnly: true,
|
|
||||||
secure: false,
|
|
||||||
}
|
|
||||||
} ) );
|
|
||||||
|
|
||||||
app.use( cookieParser() );
|
|
||||||
|
|
||||||
let file = path.join( __dirname + '/webapp/main/dist/index.html' );
|
|
||||||
|
|
||||||
if ( settings.setupDone ) {
|
|
||||||
console.log( '[ Server ] loading backend components' );
|
|
||||||
require( './backend/helperRoutes.js' )( app, settings ); // Helper routes
|
|
||||||
require( './admin/adminRoutes.js' )( app, settings ); // admin routes
|
|
||||||
require( './admin/adminAPIRoutes.js' )( app, settings ); // admin api routes
|
|
||||||
require( './admin/appApiRoutes.js' )( app, settings ); // app api routes
|
|
||||||
require( './backend/userAPIRoutes.js' )( app, settings ); // user api routes
|
|
||||||
require( './backend/userRoutes.js' )( app, settings ); // user routes
|
|
||||||
require( './backend/payments/paymentRoutes.js' )( app, settings ); // payment routes
|
|
||||||
require( './backend/plugins/pluginLoader.js' )( app, settings ); // plugin loader
|
|
||||||
} else {
|
|
||||||
console.log( '[ Setup ] Loading setup routes' );
|
|
||||||
require( './setup/setupRoutes.js' )( app, settings ); // setup routes
|
|
||||||
file = path.join( __dirname + '/webapp/setup/dist/index.html' );
|
|
||||||
}
|
|
||||||
|
|
||||||
// handling of any unknown route. Returns the SPA index.html file which
|
|
||||||
// initiates loading of the SPA
|
|
||||||
app.use( ( request, response ) => {
|
|
||||||
response.sendFile( file );
|
|
||||||
} );
|
|
||||||
|
|
||||||
console.log( '\n\n[ Server ] loading complete!\n\n' );
|
|
||||||
|
|
||||||
const PORT = process.env.PORT || 8080;
|
|
||||||
console.log( '[ Server ] listening on port ' + PORT );
|
|
||||||
http.createServer( app ).listen( PORT );
|
|
||||||
116
src/server/index.js
Normal file
116
src/server/index.js
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
/*
|
||||||
|
* libreevent - app.js
|
||||||
|
*
|
||||||
|
* Created by Janis Hutz 02/26/2023, Licensed under the GPL V3 License
|
||||||
|
* https://janishutz.com, development@janishutz.com
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const express = require( 'express' );
|
||||||
|
let app = express();
|
||||||
|
const path = require( 'path' );
|
||||||
|
const expressSession = require( 'express-session' );
|
||||||
|
const cookieParser = require( 'cookie-parser' );
|
||||||
|
const http = require( 'http' );
|
||||||
|
const fs = require( 'fs' );
|
||||||
|
const token = require( './backend/token.js' );
|
||||||
|
|
||||||
|
module.exports.run = () => {
|
||||||
|
console.log( `
|
||||||
|
|
||||||
|
_ _ _ _
|
||||||
|
| (_) | | |
|
||||||
|
| |_| |__ _ __ ___ _____ _____ _ __ | |_
|
||||||
|
| | | '_ \\| '__/ _ \\/ _ \\ \\ / / _ \\ '_ \\| __|
|
||||||
|
| | | |_) | | | __/ __/\\ V / __/ | | | |_
|
||||||
|
|_|_|_.__/|_| \\___|\\___| \\_/ \\___|_| |_|\\__|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
==> Welcome to libreevent!
|
||||||
|
|
||||||
|
|
||||||
|
==> You are running Version V1.0.0
|
||||||
|
|
||||||
|
Below you can see all important things that happen during operation.
|
||||||
|
libreevent logs all errors in the console such that they appear in the
|
||||||
|
log files when running it with an output pipe (which you should definitely do)
|
||||||
|
|
||||||
|
To do this run the following command when starting libreevent:
|
||||||
|
'node app.js > libreevent_log.txt'
|
||||||
|
|
||||||
|
` );
|
||||||
|
|
||||||
|
console.log( '[ Server ] loading settings' );
|
||||||
|
const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/config/settings.config.json' ) ) );
|
||||||
|
|
||||||
|
|
||||||
|
// Route for static html file for start page (page is compiled using
|
||||||
|
// Vue SSR and gets its support files (e.g. CSS and JS files) from
|
||||||
|
// the /home/supportFiles/:file route plus its assets from the /otherAssets/:file
|
||||||
|
// route).
|
||||||
|
if ( settings.setupDone ) {
|
||||||
|
app.get( '/', ( req, res ) => {
|
||||||
|
res.sendFile( path.join( __dirname + '/ui/home/active/en/index.html' ) );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Set up static routes for static file serving (performance wise not
|
||||||
|
// that good, but way easier to set up)
|
||||||
|
console.log( '[ Server ] Setting up static routes' );
|
||||||
|
if ( settings.setupDone ) {
|
||||||
|
app.use( express.static( 'webapp/main/dist' ) );
|
||||||
|
} else {
|
||||||
|
app.use( express.static( 'webapp/setup/dist' ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
// initialise express with middlewares
|
||||||
|
console.log( '[ Server ] loading and initializing middlewares' );
|
||||||
|
app.use( expressSession( {
|
||||||
|
secret: token.generateToken( 60 ),
|
||||||
|
resave: false,
|
||||||
|
saveUninitialized: true,
|
||||||
|
cookie: {
|
||||||
|
sameSite: 'none',
|
||||||
|
httpOnly: true,
|
||||||
|
secure: false,
|
||||||
|
}
|
||||||
|
} ) );
|
||||||
|
|
||||||
|
app.use( cookieParser() );
|
||||||
|
|
||||||
|
let file = path.join( __dirname + '/webapp/main/dist/index.html' );
|
||||||
|
|
||||||
|
if ( settings.setupDone ) {
|
||||||
|
console.log( '[ Server ] loading backend components' );
|
||||||
|
require( './backend/helperRoutes.js' )( app, settings ); // Helper routes
|
||||||
|
require( './admin/adminRoutes.js' )( app, settings ); // admin routes
|
||||||
|
require( './admin/adminAPIRoutes.js' )( app, settings ); // admin api routes
|
||||||
|
require( './admin/appApiRoutes.js' )( app, settings ); // app api routes
|
||||||
|
require( './backend/userAPIRoutes.js' )( app, settings ); // user api routes
|
||||||
|
require( './backend/userRoutes.js' )( app, settings ); // user routes
|
||||||
|
require( './backend/payments/paymentRoutes.js' )( app, settings ); // payment routes
|
||||||
|
require( './backend/plugins/pluginLoader.js' )( app, settings ); // plugin loader
|
||||||
|
} else {
|
||||||
|
console.log( '[ Setup ] Loading setup routes' );
|
||||||
|
require( './setup/setupRoutes.js' )( app, settings ); // setup routes
|
||||||
|
file = path.join( __dirname + '/webapp/setup/dist/index.html' );
|
||||||
|
}
|
||||||
|
|
||||||
|
// handling of any unknown route. Returns the SPA index.html file which
|
||||||
|
// initiates loading of the SPA
|
||||||
|
app.use( ( request, response ) => {
|
||||||
|
response.sendFile( file );
|
||||||
|
} );
|
||||||
|
|
||||||
|
console.log( '\n\n[ Server ] loading complete!\n\n' );
|
||||||
|
|
||||||
|
const PORT = process.env.PORT || 8080;
|
||||||
|
console.log( '[ Server ] listening on port ' + PORT );
|
||||||
|
http.createServer( app ).listen( PORT );
|
||||||
|
}
|
||||||
13
src/server/package-lock.json
generated
13
src/server/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pdfme/generator": "^1.2.6",
|
"@pdfme/generator": "^1.2.6",
|
||||||
@@ -464,11 +464,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.6.7",
|
"version": "1.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz",
|
||||||
"integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
|
"integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==",
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.4",
|
"follow-redirects": "^1.15.6",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"proxy-from-env": "^1.1.0"
|
"proxy-from-env": "^1.1.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"description": "Free & Open source event management solution",
|
"description": "Free & Open source event management solution",
|
||||||
"main": "app.js",
|
"main": "index.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
"doc": "docs"
|
"doc": "docs"
|
||||||
},
|
},
|
||||||
|
|||||||
4
src/webapp/main/package-lock.json
generated
4
src/webapp/main/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pdfme/generator": "^1.2.3",
|
"@pdfme/generator": "^1.2.3",
|
||||||
"@pdfme/ui": "^3.2.1",
|
"@pdfme/ui": "^3.2.1",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent",
|
"name": "libreevent",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"private": false,
|
"private": false,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host",
|
"dev": "vite --host",
|
||||||
|
|||||||
4
src/webapp/setup/package-lock.json
generated
4
src/webapp/setup/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent-setup",
|
"name": "libreevent-setup",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "libreevent-setup",
|
"name": "libreevent-setup",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pinia": "^2.1.3",
|
"pinia": "^2.1.3",
|
||||||
"vue": "^3.3.4",
|
"vue": "^3.3.4",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "libreevent-setup",
|
"name": "libreevent-setup",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Reference in New Issue
Block a user