OpenXava includes a set of project templates, or archetypes as they're called in the Java world, so you don't have to start your new OpenXava project from scratch. These templates not only save you time but also contain many code examples that can be useful for learning.
To use these templates from OpenXava Studio, when creating a new project, open the Templates combo box and choose one of the suggested templates:

For example, if you choose Project Management and click Finish, in a few seconds you'll have a project management application in OpenXava, ready to go.
If you use IntelliJ, VisualStudio Code, or Maven from the command line, you can refer to the Maven archetypes because each of these templates corresponds to a Maven archetype. Below, you will find the name of the Maven archetype for each available template, along with the command line you need to use.
It is a basic example of master-detail, with the entities Master, Person, Detail, and Item, which you can rename according to your needs. Very useful as a basis for an invoice, purchase order, work report, delivery note, bank account, shipment, etc.
It also contains a dashboard example; see the code in the dashboards package, and an example of an action that generates a custom PDF using JasperReports.
Additionally, it includes an initial database with test data and a set of JUnit automated tests, including a test for the PDF report. The test code is located in src/test/java and is ready for you to run. From OpenXava Studio, right-click on the project and choose Run As > JUnit Test.
To use it from OpenXava Studio, select Master-Detail as the template when creating the project.
To use it from IntelliJ or Visual Studio, use the archetype available in Maven Central called openxava-master-detail-archetype.
If you prefer to create your project from the command line, do it like this:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-master-detail-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourmasterdetail -DinteractiveMode=false
Where instead of yourmasterdetail put the name you want for your application.
A very, very simple CRM.
With just a Lead that has a collection of activities (Activity) and a status (LeadStatus). The main view is organized into tabs and contains a rich text editor, editable collections (grid), and the ability to upload attachments.
Additionally, it includes an automatic test example with JUnit. The test code is located in src/test/java and is ready for you to run it. From OpenXava Studio, right-click on the project and choose Run As > JUnit Test.
To use it from OpenXava Studio, select CRM as the template when creating the project.
To use it from IntelliJ or Visual Studio, use the archetype available in Maven Central called openxava-crm-archetype.
If you prefer to create your project from the command line, do it like this:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-crm-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourcrm -DinteractiveMode=false
Where instead of yourcrm put the name you want for your application.
A fairly complete project manager ready to use.
Apart from the basics like managing issues, projects, and versions, it allows you to create plans per worker with periods, such as January 2025 or Week 32, associate the period with the worker, and obtain the worker's plan to which issues can be assigned and ordered. It also supports client control and the time dedicated to them.
Being a more complete application, you will be able to learn many things, such as the use of inheritance, fields to store icons, search methods with JPA in entities, rich text fields, discussion threads, user-sortable lists with drag and drop, custom actions for collections, a personal calendar module, etc.
Additionally, it includes an initial database with test data and a set of JUnit automated tests, including one test using Selenium. The test code is located in src/test/java and is ready for you to run. From OpenXava Studio, right-click on the project and choose Run As > JUnit Test.
To use it from OpenXava Studio, select Project Management as the template when creating the project.
To use it from IntelliJ or Visual Studio, use the archetype available in Maven Central called openxava-project-management-archetype.
If you prefer to create your project from the command line, do it like this:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-project-management-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourtracker -DinteractiveMode=false
Where instead of yourtracker put the name you want for your application.
It is the finished application code developed in the OpenXava course. Although it is not a billing application ready for production, it contains many code examples typical of a real-life business application. This includes modeling using JPA entities, defining the user interface, advanced use of inheritance, validation, Bean Validation, JAX-RS (REST services), refining predefined behavior, adding custom behavior, business logic, advanced use of references and collections, etc.
To use it from OpenXava Studio, select Invoicing as the template when creating the project.
To use it from IntelliJ or Visual Studio, use the archetype available in Maven Central called openxava-invoicing-archetype.
If you prefer to create your project from the command line, do it like this:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-invoicing-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourinvoicing -DinteractiveMode=false
Where instead of yourinvoicing put the name you want for your application.