Summary
This project consists of a CMS specifically developed to work with MUnique OpenMU. The CMS includes a client developed with React and a server developed with Spring Boot.
- Create account
- Login
- Change password
- Create/edit/update/remove banners (only Game Masters)
- Create/edit/update/remove news (only Game Masters)
- Players and guilds rankings (with pagination)
- Account page (list of characters and personal data)
- Reset Character
- Add stats points
- Guild page
- Online players page
- Events countdown
- Server statictics
- Internationalization (with english and portuguese locales)
- Dark and Light theme
- Three color palettes
- Docker deploy files wih OpenMU
- Client: React 18, Vite.js, TypeScript and TailwindCSS.
- Server: Java 17, Maven and Spring Boot 3.
Before you begin, you will need to have the following tools installed on your machine: Git, Node.js and Java 17 JDK. In addition, it is good to have an editor to work with the client code like VSCode and an IDE like IntelliJ to work with the server.
To run the server, first you need to generate an RSA public-private key pair (how to create or create online). The private key should be named app.key
and the public key app.pub
. Both files should be placed inside server/src/main/resources
.
Additionally, you need to configure the environment variables for the database and the OpenMU administration panel - is easy to configure with IntelliJ. The default configuration is:
DB_HOST=localhost
DB_PORT=5433
DB_NAME=openmu
DB_USERNAME=postgres
DB_PASSWORD=admin
ADMIN_PANEL_USERNAME=admin
ADMIN_PANEL_PASSWORD=openmu
ADMIN_PANEL_HOST=localhost
ADMIN_PANEL_PORT=80
Some settings related to OpenMU settings (like level required to reset, points per reset and others) need to be adjusted appropriately in the class /server/src/main/java/io/github/felipeemerson/openmuapi/configuration/SystemConstants.java
.
Command to run the server (server is available at port 8080):
.\mvnw spring-boot:run
To run the client, first install the necessary dependencies with the command bellow:
npm install
Then, create a .env file in the /client root directory with the following variables:
VITE_API_URL=http://localhost:8080
VITE_MAX_BANNERS=5
VITE_LEVEL_REQUIRED_TO_RESET=400
VITE_MAX_STAT_POINTS=65535
The VITE_API_URL is the server URL, VITE_MAX_BANNERS is the maximum number of possible banners, VITE_MAX_STAT_POINTS is the maximum value of an character attribute, and VITE_LEVEL_REQUIRED_TO_RESET is the level required to reset.
Command to run the client (client is available at port 5173):
npm run dev
You can change between theme colors in the file client/src/public/colors.ts
. The client has 4 themes (purple, blue, green and pink), to set a theme just change the primary
key of the colors variable to the variable of the theme that you want:
export const colors = {
primary: primary, // or green or pink or blue
Distributed under the MIT License. See LICENSE.txt
for more information.