Attendance WebApp is a proof of concept to improve the way attendance is managed at AUT university.
The application uses maven, J2EE, primefaces, gson. The idea is that you have a short timeframe to submit a random generated code by the lecturer so that attendance can be registered in the system.
The application is a proof of concept for Service orientation and Service interoperability in the cloud
GitHub found 2 vulnerabilities on aleon1220/multi-cloud-WebApp-Attendance's default branch (2 moderate). To find out more, visit: This project security report
since this is a 2018 project a lot of things need to change
- Simplification of used services
- Streamline app to use 100% rest and deprecate SOAP and WSDL
- Create a simple test OpenLDAP instance for users and roles
- Host the WebApp in Azure
- Host the backend functionality in AWS
- use diagrams.net for the diagrams
- Installation process: project is Maven java project. Import in any IDE with the POM File.
- Software dependencies: dependencies are described in pom.xml file
- Latest releases by using git tags
- API references. API docs
git clone repo
# import in IDE Eclipse suggested or use online IDE
# execute some of the unit tests
# Generate the .WAR file
mvn package
# Deploy WebArchive file in tomcat. Docker apps info below
deploy .WAR in tomcat
- build the project locally with a locally installed maven client
Tested in Win11 with WSL
mvn verify
- Use a docker tag to select a target JDK
8-jdk8-corretto
TOMCAT_DOCKER_TAG="8-jdk8-corretto"
- build the container to the latest version tag
docker build --tag aleon1220/soa:latest .
- Run the tomcat server with the pre-built WAR web Archive file Use the tag latest or a particular version e.g. aleon1220/soa:v2 or aleon1220/soa:latest
docker run -itd --publish 8888:8080 --name attendance_webapp_container aleon1220/soa:latest
refer to https://hub.docker.com/_/tomcat
- Access container
docker container exec -it aleon1220/soa /bin/bash
- The URl is localhost:8888/AttendanceWebApp | AttendanceWebApp
Refer to maven docker official image https://hub.docker.com/_/maven is best to have maven locally installed
- Create a volume
docker volume create --name maven-repo-volume
- Docker container build using the volume above
docker run -it -v maven-repo-volume:/root/.m2 maven mvn archetype:generate # will download artifacts
- Docker container run and build using the maven image
docker run -it --rm --name my-maven-project -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean install
- docker run build using bind volume mount
docker run -it --name my-maven-project -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean install
https://github.com/aleon1220/multi-cloud-WebApp-Attendance/security/dependabot