blob: 16ee1eb413cda6d50c4a78a49e68dd7352d25aa0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# Podcast Synchronisation made Efficient Dashboard
> Dashboard for PSE-Server
## About
The synchronization of the podcasts is to be managed via a web interface. For
this purpose a single-page application will be created. This can be displayed in
a user-friendly way for desktop and mobile devices.
The web interface contains the subscribed podcasts and listened episodes
including metadata from the backend.
## Getting Started
### Pre requirements
- Node.js 19
- npm
### Install dependencies
```sh
$ npm install
```
### Run development server
Runs dev server with live-preview
```sh
$ npm run dev
```
### Build to static files
```sh
$ npm run build
```
You can define that backend domain by editing the `.env.production` file or
setting the environment variable.
```sh
$ VITE_BACKEND_URL=http://<YOUR BACKEND DOMAIN> npm run build
```
### Docker
> Note that you are running the frontend standalone!
> Checkout `pse-docker` to run both front- and backend.
The docker image can be build using
```sh
$ docker build -t pse-frontend .
```
Here you can change the backend domain by editing the `Dockerfile` or by
supplying it when building.
```sh
$ docker build --build-arg VITE_BACKEND_URL=http://<YOUR BACKEND DOMAIN> -t pse-frontend .
```
Then the image can be run using
```sh
$ docker run -p 80:80 -it pse-frontend
```
## Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
## Used Dependencies
- vite
- vue
- vue-router
- bootstrap
- fontawesome
- vue-i18n (Support für mehrere Sprachen)
## License
This project is licensed under the AGPL-3 License - see the `LICENSE` file for details.
|