Ferdinand Thiessen f9c9f6efbe | ||
---|---|---|
.vscode | ||
public | ||
src | ||
src-cordova | ||
src-electron | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.postcssrc.js | ||
LICENSE | ||
README.md | ||
babel.config.js | ||
package.json | ||
quasar.conf.js | ||
quasar.extensions.json | ||
tsconfig.json | ||
yarn.lock |
README.md
Flaschengeist (frontend)
Modular student club administration system, licensed under the MIT license.
Installation
Requirements
"engines": {
"node": ">= 12.22.1",
"npm": ">= 6.14.12",
"yarn": ">= 1.21.1"
}
So on debian (buster and bullseye) you will need to install node.js and yarn beside the debian packages to meet the needed versions.
pushd ~/opt
wget https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz
tar -xJf node-v16.2.0-linux-x64.tar.xz
export PATH="$(pwd)/node-v16.2.0-linux-x64/bin":"$PATH"
npm i -g yarn
npm i -g @quasar/cli
popd
Install the dependencies
yarn install
Be aware npm might not work.
Configure Plugins
You can activate and deactive Plugins in src/boot/plugins.ts
.
You have to set the name of the Plugin into config.loadModules
.
Configure Backend
The application is using the API of the backend This access needs to be configured in `src/config.ts'->config.baseURL
- either you do have a proxy webserver that maps the '/api' to the backend (http://localhost:5000) or
- you do directly configure the backend there:
baseURL: 'http://localhost:5000'
. Be aware not committing this configuration.
Build the application
yarn quasar build
Development
Icons used
We are using the mdi-v5
icon set, so feel free to use any icon from it.
A list can be found here
Commands useful for development
Start the app in development mode
Provides hot-code reloading, error reporting, etc.
yarn quasar dev
File linting
yarn run lint
Plugins
Build a Plugin
A Flaschengeist-Frontend-Plugin should be placed in src/plugins
.
It needs a plugin.ts
File which exports a plugin with the following interface:
name: string;
mainRoutes?: PluginRouteConfig[];
outRoutes?: PluginRouteConfig[];
requiredModules: string[];
version: string;
You have to import FG_Plugin
from plugins.d.ts
.