Skip to content

NiccoMlt/Protelis-Web

Repository files navigation

Protelis-Web

Build Status Codacy Badge codecov

Web server with frontend for Protelis.

Repository details Commitizen friendly

The commits in this Git repository follows Conventional Commits standard with the help of Conventional Changelog tools and Commitizen.

Backend

The repository is a standard Gradle project importable in Intellij IDEA.

The backend is built with Vert.x framework and Kotlin language.

Frontend

The frontend, originally integrated as a resource in this project, was migrated to NiccoMlt/protelis-web-frontend.

Deploy

The project is deployed on Heroku using the awesome dpl tool by Travis CI creators.

In particular, CI pipeline does the following deployments:

Docker

The software can be easily deployed as a Docker container.

To build your own (in this example, protelis-web) you have to build it:

# Build the shadow JAR file, which should be located in ./build/libs/protelis-on-web-all.jar
./gradlew clean shadowJar

# Build the Docker image
docker build -t protelis-web .

Then, run it with:

# Run the container:
# - as a deamon,
# - binding internal 8080 to actual 80 port and 8443 to 443
# - naming the container protelis-web to easily recognize it
docker run -d -p80:8080 -p 443:8443 --name protelis-web protelis-web

License and credits License: GPL v3

As stated in LICENSE file, this code is provided under GPLv3 license.

The code was bootstrapped from my personal adaptation of official Single Page Application development with React and Vert.x tutorial, which are both provided under Apache License 2.0.