Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/dinogamer089/SiCom/llms.txt

Use this file to discover all available pages before exploring further.

SiCom — Eventos Campestre targets a well-defined runtime stack. Before installing or building the application, confirm that every component below is available in your environment. Mixing incompatible versions — particularly an older servlet container that lacks Jakarta EE 10 namespace support — is the most common source of startup failures.

Runtime Requirements

ComponentMinimum VersionNotes
Java (JDK)21maven.compiler.source and maven.compiler.target are both set to 21 in the parent pom.xml
Apache Maven3.9+Required to build the four-module reactor; earlier versions may not honour the <modules> ordering correctly
MySQL8.0+JDBC driver class com.mysql.cj.jdbc.Driver (connector mysql-connector-j 9.2.0)
Apache Tomcat10.1+Jakarta EE 10 servlet namespace (web-app_6_0.xsd, version="6.0"); Tomcat 9 uses the javax.* namespace and is not compatible

Key Dependency Versions

The vista module declares all runtime dependencies. The versions below are fixed in vista/pom.xml property entries.
DependencyVersionClassifier / Notes
org.primefaces:primefaces14.0.0jakarta classifier — required for Jakarta EE 10 namespace
org.primefaces.extensions:primefaces-extensions14.0.0jakarta classifier
org.glassfish:jakarta.faces4.0.1Mojarra (JSF 4) implementation, bundled in the WAR
org.jboss.weld.servlet:weld-servlet-shaded5.1.1.FinalCDI 4 provider — see note below
org.eclipse.angus:angus-mail2.0.2Jakarta Mail implementation (replaces javax.mail)
org.apache.poi:poi-ooxml5.2.4Excel report generation
com.jfree:jfreechart1.5.3Optional — dashboard charts
com.itextpdf:itext-core8.0.2Optional — PDF report export
org.slf4j:slf4j-api2.0.9Logging façade
ch.qos.logback:logback-classic1.4.11Logging implementation

Optional Integrations

IntegrationVersionPurpose
Google Drive API v3v3-rev20230822-2.0.0Remote image storage for article photos
Google API Client2.2.0OAuth 2.0 transport for Drive
Google OAuth Client1.34.1Token management
CDI on Tomcat via Weld: Tomcat does not include a CDI container. SiCom bundles weld-servlet-shaded directly in the WAR, which registers itself through org.jboss.weld.environment.servlet.Listener (declared in web.xml). No separate CDI runtime installation is needed — the shaded JAR is self-contained and activates automatically on application startup.

Connection Pool Sizing

The persistencia module uses HikariCP as the JDBC connection pool, configured inside persistence.xml. The defaults are sized for a single-node development or small-production environment:
HikariCP PropertyValueMeaning
hibernate.hikari.minimumIdle5Minimum idle connections kept warm
hibernate.hikari.maximumPoolSize10Hard ceiling on total connections
hibernate.hikari.idleTimeout30000Milliseconds before an idle connection is retired (30 s)
Adjust these values in persistencia/src/main/resources/META-INF/persistence.xml before deploying to a server that handles concurrent bookings.

File Upload Limits

The Faces Servlet’s <multipart-config> block in web.xml enforces the following limits for catalogue image uploads:
SettingValue
max-file-size10 MB (10 485 760 bytes)
max-request-size20 MB (20 971 520 bytes)
file-size-threshold0 (write directly to disk, no memory buffer)
The same limits are mirrored on UploadImageServlet via @MultipartConfig(maxFileSize = 10 * 1024 * 1024, maxRequestSize = 20 * 1024 * 1024), which handles the /upload-image endpoint used by the image management views.

Build docs developers (and LLMs) love