A web application that manages cooking recepies, suggests meals, and adds the required ingredients to a shopping list. Beyond its real use case, to me it serves as a learning project for how to set up a full stack dockerized web application.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
rm get-docker.sh
sudo usermod -aG docker ${USER}
docker pull registry
mkdir certs
sudo cp /etc/letsencrypt/live/example.com/* certs
mkdir auth
docker run --entrypoint htpasswd httpd -Bbn user password > auth/htpasswd
docker run -d \
--restart=always \
--name registry \
-v "$(pwd)"/certs:/certs \
-e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.pem \
-e REGISTRY_HTTP_TLS_KEY=/certs/privkey.pem \
-p 5000:5000 \
registry
sudo echo "127.0.0.1 omnom-auth" >> /etc/hosts
set -a; source .env; set +a;
jabba use [email protected]
pushd omnom-backend; mvn clean package -Dquarkus.profile=localhost -DskipTests; popd
#docker build -f omnom-backend/Dockerfile -t omnom-backend ./omnom-backend
#pushd omnom-frontend; ng build --configuration development; popd
#docker build -f omnom-frontend/Dockerfile -t omnom-frontend ./omnom-frontend
docker-compose up
sudo ng serve --host 127.0.0.1 --port 80
docker tag omnom-backend:latest example.com:5000/omnom-backend
docker push example.com:5000/omnom-backend
-
https://b-nova.com/en/home/content/sso-with-quarkus-angular-and-keycloak
-
https://jtuto.com/solved-keycloak-invalid-token-issuer-in-docker/
-
https://sgitario.github.io/quarkus-app-with-react-and-keycloak/
-
https://quarkus.io/guides/security-openid-connect-web-authentication
- https://vladmihalcea.com/the-best-way-to-map-an-enum-type-with-jpa-and-hibernate/
- https://herewecode.io/blog/create-a-postgresql-database-using-docker-compose/
- https://stackoverflow.com/questions/35069027/docker-wait-for-postgresql-to-be-running
- https://stackoverflow.com/questions/66325175/docker-container-with-postgres-warning-could-not-open-statistics-file-pg-stat
- https://developers.redhat.com/articles/2022/02/03/build-rest-api-ground-quarkus-20
- https://enterprisecraftsmanship.com/posts/having-the-domain-model-separate-from-the-persistence-model/
- https://www.baeldung.com/jpa-attribute-converters
- https://www.jpa-buddy.com/blog/lombok-and-jpa-what-may-go-wrong/
- https://vepo.github.io/posts/using-bean-Validation-on-quarkus
- https://supakon-k.medium.com/how-to-fix-mapstruct-in-spring-boot-when-return-null-object-4ead44279af0
- https://howtodoinjava.com/resteasy/resteasy-exceptionmapper-example/
- https://stackoverflow.com/questions/56959505/quarkus-blocked-by-cors-policy
-
https://www.techiediaries.com/angular/angular-9-8-crud-example-and-tutorial/
-
https://www.bannerbear.com/blog/what-is-a-cors-error-and-how-to-fix-it-3-ways/
-
https://bootstrapcreative.com/how-to-center-a-div-horizontally-in-bootstrap-4/
-
https://www.digitalocean.com/community/tutorials/angular-data-binding-angular
-
https://stackoverflow.com/questions/57409807/edit-table-row-inline-on-click-of-edit-in-angular
-
https://vap1231.medium.com/inline-editable-table-using-dynamic-form-controls-in-angular-87eb24c0e5a5
-
https://learnwithtriveni.com/2022/07/17/add-or-remove-form-fields-dynamically/
- https://milanwittpohl.com/projects/tutorials/Full-Stack-Web-App/dockerizing-our-front-and-backend
- https://earthly.dev/blog/youre-using-docker-compose-wrong/
- https://stackoverflow.com/questions/58047984/why-do-i-need-to-declare-env-file-explicitely-in-docker-compose-yml
- https://betterprogramming.pub/how-to-create-an-angular-dockerfile-75c059e7f8e8