@@ -6,7 +6,7 @@ This project is being developed at Masaryk University, Brno, as collaborative pr
...
@@ -6,7 +6,7 @@ This project is being developed at Masaryk University, Brno, as collaborative pr
## Requirements
## Requirements
*[Oracle JDK 11](https://www.oracle.com/java/technologies/downloads/#java11)(JOGL 2.3 does not work with JDK >11 properly, at leat at Linux; should be working again in ongoing JOGL 2.4)
*[Maven](https://www.mkyong.com/maven/how-to-install-maven-in-windows/) for compilation
*[Maven](https://www.mkyong.com/maven/how-to-install-maven-in-windows/) for compilation
* IDE for development, e.g. NetBeans or IntelliJ IDEA
* IDE for development, e.g. NetBeans or IntelliJ IDEA
...
@@ -21,15 +21,13 @@ This project is being developed at Masaryk University, Brno, as collaborative pr
...
@@ -21,15 +21,13 @@ This project is being developed at Masaryk University, Brno, as collaborative pr
* The source code has to be maintainable via Maven. If you use IDEA for development, be carefull that this IDE transforms the original Maven project into its own obscure format. You can use it, but at the end, your code has to be installable and runnable via maven (see Installation and running). When pushing your code into gitlab, the maven installation is tested.
* The source code has to be maintainable via Maven. If you use IDEA for development, be carefull that this IDE transforms the original Maven project into its own obscure format. You can use it, but at the end, your code has to be installable and runnable via maven (see Installation and running). When pushing your code into gitlab, the maven installation is tested.
* Document public interafaces rigorously.
* Document public interafaces rigorously.
* Commit and push regularly. Keet branches (iterations) as short as possible.
* Commit and push regularly. Keep branches (iterations) as short as possible.
* Write junit test whenever possible. For the `MesmModel` module, unit tests are mandatory for every new functionality!
* Write junit test whenever possible. For the `MesmModel` module, unit tests are mandatory for every new functionality!
* The client part (GUI) of the project is developed in [NetBeans Platform](https://netbeans.apache.org/kb/docs/platform/index.html) framework.
* The client part (GUI) of the project is developed in [NetBeans Platform](https://netbeans.apache.org/kb/docs/platform/index.html) framework.
* For further info, see the [project web page](https://www.radek-oslejsek.cz/it/fidentis-analyst-2/).
## Structure (modules):
## Structure (modules):
***application:** From [NetBeans tutorial](https://platform.netbeans.org/tutorials/71/nbm-maven-quickstart.html): Enumerates included modules; permits interactive runs; produces various kinds of packaging, such as ZIP by default, but optionally JNLP, NBMs, and in the future perhaps OSGi; holds functional tests. Each module project specifies its own compile dependencies, while the appplication project's dependencies are anything additional that should be present at runtime. For example, that includes, by default, the whole platform cluster, that is, the set of modules constituting the "platform" cluster. The appplication project could include other clusters, or subsets of clusters, or whatever plugins you want included in your app which are not used as compilation dependencies. At a minimum, core.startup and its transitive dependencies are included.
***application:** From [NetBeans tutorial](https://platform.netbeans.org/tutorials/71/nbm-maven-quickstart.html): Enumerates included modules; permits interactive runs; produces various kinds of packaging, such as ZIP by default, but optionally JNLP, NBMs, and in the future perhaps OSGi; holds functional tests. Each module project specifies its own compile dependencies, while the appplication project's dependencies are anything additional that should be present at runtime. For example, that includes, by default, the whole platform cluster, that is, the set of modules constituting the "platform" cluster. The appplication project could include other clusters, or subsets of clusters, or whatever plugins you want included in your app which are not used as compilation dependencies. At a minimum, core.startup and its transitive dependencies are included.
***branding:** From [NetBeans tutorial](https://platform.netbeans.org/tutorials/71/nbm-maven-quickstart.html): This module project contains the global resources used for branding the application, such as the splash screen.
***branding:** From [NetBeans tutorial](https://platform.netbeans.org/tutorials/71/nbm-maven-quickstart.html): This module project contains the global resources used for branding the application, such as the splash screen.
***MeshModel:** The core model for triangle meshes.
***Application modules (MeshModel, etc.):** See the [project web page](https://www.radek-oslejsek.cz/it/fidentis-analyst-2/).
***Renderer:** Rendering code.
***GUI:** GUI of the application.
***Comparison:** Application logic for the comparison of human faces.