Giter VIP home page Giter VIP logo

zucchini-ui's Introduction

Build status Docker stars

Zucchini UI

Record and analyze your Cucumber results.

Screenshot

Requirements

Runtime

Development

Zucchini is built with Gradle. The Gradle wrapper is provided, no extra download is required.

Build

First time, install Javascript dependencies:

npm install --global yarn
./gradlew yarnInstall

Build application with Gradle:

./gradlew build

Warning: when Gradle is launched with Intellij, the PATH environment variable doesn't always contain path to Webpack command. If this is the case, relaunch Gradle daemon:

./gradlew --stop
./gradlew build

Develop

Run Mongo database server:

mongod &

Run Mongo migrations to build database:

(cd zucchini-ui-mongo && ./migrate.sh MONGO_HOST/MONGO_DATABASE)

Import project (on IntelliJ)

  • Install gradle plugin
  • Restart IntelliJ
  • You will see "Import gradle project" message on the right bottom (Event log). Click on it.
  • Select "Use default gradle wrapper". Not "Use local gradle distribution".

Start Java backend:

./gradlew runBackend

Start frontend:

(cd zucchini-ui-frontend && yarn start)

Open your browser to (although the yarn start should open Zucchini home page) :

http://localhost:9000

You can build sample Cucumber reports from the zucchini-ui-example-features:

./gradlew runCucumber

Generated reports can be found in build directory.

The development UI server runs on port 9000, the backend server runs on ports 8080 (Zucchini API) and 8081 (Dropwizard admin API).

Start Java backend in debug mode

  • Open the view "Gradle" > zucchini-ui > other
  • Right-click on runBackend
  • Debug

Deploy

The sub-project zucchini-ui-app builds a fat JAR that contains backend and UI in one JAR. This JAR contains everything needed to run the Zucchini UI app.

You can run it with the following Gradle command:

./gradlew runShadow

The fat JAR is named zucchini-ui-app-VERSION-all.jar. You will find it in zucchini-ui-app/build/libs. Run it with this command:

java -jar zucchini-ui-app-VERSION-all.jar server CONFIG.yml

Don't forget to init your Mongo database !

(cd zucchini-ui-mongo && ./migrate.sh MONGO_HOST/MONGO_DATABASE)

Build and deploy a Docker image

You can build a Docker image:

./gradlew dockerBuild

The Docker image will be located at pgentile/zucchini-ui. After that, you can run the Docker image and its dependencies with the following command:

docker-compose up

You can find some pre-built images in Docker Hub.

Cypress E2E tests

You can launch some E2E Cypress tests:

(cd zucchini-ui-e2e-tests && yarn cypress:open)

This test suite is useful to validate basic Zucchini functionalities.

Configuration

The configuration file used by the application is a Dropwizard YAML file.

You can use in your file environment variable, like ${HOME} or ${USER}. View the sample configuration file for more information.

Architecture

Used frameworks:

Validating that a JSON report can be parsed

./gradlew runJsonImporter -PjsonFilePath=...

Contributing

See the contributing guide

zucchini-ui's People

Contributors

pgentile avatar renovate-bot avatar jeremiemarc avatar renovate[bot] avatar devjiel avatar mbeuremila avatar edikabe avatar dependabot[bot] avatar lucas-c avatar ylepalud avatar olivierb02 avatar tployon avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.