91 lines
2.0 KiB
Markdown
91 lines
2.0 KiB
Markdown
# 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.
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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](https://flaschengeist.dev/Flaschengeist/flaschengeist)
|
|
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
|
|
|
|
```bash
|
|
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](https://materialdesignicons.com/)
|
|
|
|
### Commands useful for development
|
|
|
|
#### Start the app in development mode
|
|
|
|
Provides hot-code reloading, error reporting, etc.
|
|
|
|
```bash
|
|
yarn quasar dev
|
|
```
|
|
|
|
#### File linting
|
|
|
|
```bash
|
|
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`.
|