- Introduce user authentication with form-based login, including a default admin user. - Implement UserEntity, UserRepository, and UserService for user management. - Create RESTful endpoints for user listing and creation, restricted to admin role. - Enhance OpenAPI specification to document new authentication and user management endpoints. - Add frontend components for login and user management, including protected routes. - Implement context and hooks for managing authentication state in the React application. - Include unit tests for user service and authentication logic.
29 lines
880 B
Markdown
29 lines
880 B
Markdown
# RolePlay
|
|
|
|
Minimal Quarkus (Java 21) project scaffold for the RolePlay service.
|
|
|
|
## Structure
|
|
|
|
- `src/main/java/de/neitzel/roleplay`: startup and base package
|
|
- `src/main/java/de/neitzel/roleplay/business`: business logic
|
|
- `src/main/java/de/neitzel/roleplay/common`: shared utilities
|
|
- `src/main/java/de/neitzel/roleplay/data`: data access
|
|
- `src/main/java/de/neitzel/roleplay/fascade`: external facades
|
|
- `src/main/resources/db/migration`: Liquibase changelog location
|
|
|
|
## Login
|
|
|
|
The app requires authentication. A default admin user is seeded on first run:
|
|
|
|
- **Username:** `admin`
|
|
- **Password:** `changeme`
|
|
|
|
Change the password after first login (e.g. by creating a new admin user and retiring the default, or via a future password-change feature). Only users with the `admin` role can create new users (POST `/api/v1/admin/users`).
|
|
|
|
## Build and test
|
|
|
|
```zsh
|
|
mvn test
|
|
```
|
|
|