Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a top-level README, update contribution documentation #611

Merged
merged 8 commits into from
May 15, 2024
Merged

Conversation

riccardo-forina
Copy link
Collaborator

Also update the UI README to be more meaningful

Copy link
Contributor

@andreaTP andreaTP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great start! A few comments around 🙂

README.md Outdated Show resolved Hide resolved
README.md Outdated

#### API

Ensure you have Kubernetes and Strimzi Cluster Operator installed on your system.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should give at least a "starting point" of a "demo" supported configuration? E.g. install minikube, install strimzi etc. etc.

README.md Outdated Show resolved Hide resolved
README.md Outdated
Ensure you have Kubernetes and Strimzi Cluster Operator installed on your system.

```bash
cd api
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you sure that we want the user to run everything in "dev mode"?
I guess, it would be easier to run things as containers in the cluster, and reserve those instructions for a Contributing document.

README.md Outdated
Then run the application.

```bash
./mvn quarkus:dev -DskipTests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is dev mode and requires a bunch of dependencies, e.g. a compatible JDK installed globally, either we remove the requirement or we add a section Pre-requisites in this document.

README.md Outdated

```bash
npm install
npm run dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those commands require some development toolchain to be installed, node, npm versions etc. etc.
I keep being convinced that running in dev mode requires a level of effort that people simply "checking out the project" do not want to invest.
We should strive to make the Quick start as simple and with as little requirements as possible to reduce this friction.

ui/README.md Outdated
Create a `.env` file containing the details about where to find the API server, and some additional config.

```.dotenv
BACKEND_URL=http://localhost:8080
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This content looks duplicated, keeping the documentation up to date requires maintenance and we wanna minimize it.
Either you keep these information in one place or you put in place automation to keep the text synced.

ui/README.md Outdated Show resolved Hide resolved
ui/README.md Outdated

This will create an optimized version of the application that can be deployed.

## Developing the UI

```bash
npm run dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what are the requirements?

ui/README.md Outdated

Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
This will run Playwright against a production build of the application.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This will run Playwright against a production build of the application.
This will run E2E tests(powered by [Playwright](https://playwright.dev/)) against a production build of the application.

a production build of the application

how can I get one?

README.md Outdated Show resolved Hide resolved
README.md Outdated
```.dotenv
BACKEND_URL=http://localhost:8080
CONSOLE_METRICS_PROMETHEUS_URL=http://localhost:9090
NEXTAUTH_SECRET=abcdefghijklmnopqrstuvwxyz1234567890=
Copy link
Collaborator Author

@riccardo-forina riccardo-forina Mar 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
NEXTAUTH_SECRET=abcdefghijklmnopqrstuvwxyz1234567890=
# the UI uses next-auth for authentication, this variable is required to run the app. Doc here https://next-auth.js.org/configuration/options#secret
NEXTAUTH_SECRET=abcdefghijklmnopqrstuvwxyz1234567890=

README.md Outdated
```

[!WARNING]
Please generate a valid and secure value for `NEXTAUTH_SECRET`. We suggest running `openssl rand -base64 32` to get started.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please generate a valid and secure value for `NEXTAUTH_SECRET`. We suggest running `openssl rand -base64 32` to get started.
Please generate a valid and secure value for `NEXTAUTH_SECRET`. We suggest running `openssl rand -base64 32` to get started. More details on [Next.js documentation](https://next-auth.js.org/configuration/options#secret)

@riccardo-forina riccardo-forina force-pushed the readme branch 3 times, most recently from 4bcc603 to b8017f6 Compare March 21, 2024 16:53
api/CONTRIBUTING.md Outdated Show resolved Hide resolved
api/CONTRIBUTING.md Outdated Show resolved Hide resolved
- node (v18+)
- npm (v10+)

To run a development version of the UI working in all its sections, you will need to install the console on a development cluster first. Please refer to the [install/README.md](../install/README.md) file for detailed instructions about how to do it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused, the ./install/README file mentions yet another way of installing things, and is not clear what to use when.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also what's "the console" here?

npm run test
```

This will run Playwright against a production build of the application.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's a "production build" in this context?

npm run start
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the console.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is console the UI?

Copy link
Member

@MikeEdgar MikeEdgar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments. It would be good to merge this one. I also have some work to add a compose file that will need to be documented in the new README as well.

api/CONTRIBUTING.md Outdated Show resolved Hide resolved
Comment on lines 38 to 47
## Regenerating OpenAPI file

PRs that make changes in the API should update openapi file by executing:

```
mvn -Popenapi-generate process-classes
```

Please commit generated files along with the PR for review.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section can be removed.

Suggested change
## Regenerating OpenAPI file
PRs that make changes in the API should update openapi file by executing:
```
mvn -Popenapi-generate process-classes
```
Please commit generated files along with the PR for review.

api/CONTRIBUTING.md Outdated Show resolved Hide resolved
Comment on lines 1 to 2
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These don't seem to be referenced and are similar to what we already have in the install directory. Are they needed?

@MikeEdgar MikeEdgar changed the title Add a top-level README Add a top-level README, update contribution documentation May 15, 2024
Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

@MikeEdgar
Copy link
Member

Merging for now to have the structure in place. We'll refine this documentation moving forward.

@MikeEdgar MikeEdgar merged commit 662478f into main May 15, 2024
11 of 12 checks passed
@MikeEdgar MikeEdgar deleted the readme branch May 15, 2024 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants