55 lines
1.1 KiB
Markdown
55 lines
1.1 KiB
Markdown
# Development
|
|
|
|
## Prerequisites
|
|
|
|
- Java 21
|
|
- Node.js and npm compatible with `frontend/package.json`
|
|
- Docker Engine and Docker Compose for container testing
|
|
|
|
## Build and test
|
|
|
|
From the repository root:
|
|
|
|
```bash
|
|
cd backend
|
|
./gradlew clean build
|
|
```
|
|
|
|
This invokes the configured Gradle build, including frontend build tasks.
|
|
|
|
## Frontend development
|
|
|
|
Frontend source code is located in `frontend/`.
|
|
|
|
Install dependencies using the lockfile:
|
|
|
|
```bash
|
|
cd frontend
|
|
npm ci
|
|
```
|
|
|
|
Run the frontend development server using the project's configured npm scripts:
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
If the project does not define a `start` script, inspect `frontend/package.json` and use its available script, such as `npm run`.
|
|
|
|
## Run the container
|
|
|
|
From the repository root, after a successful build:
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
docker compose logs -f htop-web
|
|
```
|
|
|
|
## Contribution guidelines
|
|
|
|
- Keep changes focused and reviewable.
|
|
- Do not commit generated build output or dependency directories.
|
|
- Do not commit credentials, private keys, or local environment files.
|
|
- Update documentation when build or runtime behavior changes.
|
|
- Run the build before submitting changes.
|