Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Documented Pull Request: an example
Run the doodle student project
The following will help you make the application run and understand how to launch it.
Some precision about the project
The project is decomposed into two parts: the front in js, and the back that makes different modules communicate together.
This document provides a quick way to run the application, but it will not deploy the complete application into several containers.
Only the back part is using containers here (Docker more specifically).
That is what we call for ourselves the "dev mode" since it is easier to get to the core code of the application
and see the impact of the changes that are made.
An other mode that implies to place our front in a container as well and make all of that communicate (with potentially a NGinx service as well) is also possible. It requires a little more work to get it done but it will be helpful in the some cases such as monitoring or chaos engineering.
Trying to make the back up-and-running
The back is composed, initially, of three different services: a database, an etherpad, and a mail service.
You can see them by reading the docker-compose.yaml file.
Just run
in a terminal to start the services.
Starting the front
The file README.md describes all the possible way to launch the front;
we will simply use a second terminal and use
A first problem...
You should be able to visit localhost:4200 and see the presentation of the app (the front...)
As you navigate and use the application, you should get the following error popping on your terminal managing the front
[webpack-dev-server] [HPM] Error occurred while proxying request localhost:4200/api/polls to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
yet, you launched the containers regarding the back, what happened?
There is one piece missing in the back, the module compiled thanks to quarkus, which is not part of the docker compose file.
This module is supposed to link the front and its requests to the different calls to the other services.
What happens is without this module, all the requests from the front are routed... to the front, which is not querying the database or anything; hence the error.
To solve this, you will have to open a new terminal and use the mvnw script.
If you directly try
you should get the following error:
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format : or :[:]:.
one of the possible goal we want to launch here is quarkus:dev;
To sum up
You will need three terminals:
The front is launched via npm start;
the docker compose is launched with the command docker compose up
The last part is launch with the mvnw script using for instance ./mvnw quarkus:dev
With all of that, you should get a functioning first, simple app.
Of course, you can add other services if you want.
Some more information may come later if needed