JWizard is an open-source Discord music bot handling audio content from various multimedia sources with innovative web player. This repository contains monorepo with landing page and dashboard front-end applications with shared configuration and components library.
Landing page:
[Docker image]
| [Docker installation]
Dashboard:
[Docker image]
| [Docker installation]
Name | Description |
---|---|
apps/dashboard | React SPA application for managing guilds. |
apps/landing-page | Next.js SSR application for root JWizard page. |
i18n-translations | I18n translations content shared between apps. |
packages/assets | Static resources (images, fonts) shared between apps. |
packages/eslint-config | Eslint configurations shared between apps and packages. |
packages/lib | Typescript shared library (excluding React stuff). |
packages/prettier-config | Prettier configuration shared between apps and packages. |
packages/tailwind-config | Tailwind configuration shared between apps. |
packages/typescript-config | Typescript TSC config shared between apps and packages. |
packages/ui | React library including widgets, components and hooks shared between apps. |
- Make sure you have at least JDK 17, Kotlin 2.0 and Node v20.
- Go to jwizard-lib, configure and run all necessary
containers defined in
README.md
file in this repository. You must have up these containers:
Name | Port(s) | Description |
---|---|---|
jwizard-vault | 8761 | Secret keys storage service. |
jwizard-mysql-db | 8762 | MySQL database. |
- Prepare and run JWizard API and Core projects. For more details, please visit this readme files:
- Clone this repository via:
$ git clone https://github.com/jwizard-bot/jwizard-web
- Install all monorepo dependencies via:
$ yarn install --frozen-lockfile
Tip
If you don't have yarn yet, install via: npm i -g yarn
.
- To run selected app from monorepo, type:
$ yarn run <project>:dev
where <project>
is landing-page
or dashboard
(see table above).
By default, applications will be listening at:
Name | Port | Link |
---|---|---|
landing-page | 8763 | localhost:8763 |
dashboard | 8764 | localhost:8764 |
Tip
Alternatively you can run selected project via prepared Intellij Idea run configuration.
We welcome contributions from the community! Please read our CONTRIBUTING file for guidelines on how to get involved.
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.