+ * This package contains classes responsible for platform resolution, + * rule compilation, and product context classification. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.catalog.classification; diff --git a/src/main/java/group/goforward/battlbuilder/configuration/PasswordConfig.java b/src/main/java/group/goforward/battlbuilder/configuration/PasswordConfig.java index 1d7374a..7533c48 100644 --- a/src/main/java/group/goforward/battlbuilder/configuration/PasswordConfig.java +++ b/src/main/java/group/goforward/battlbuilder/configuration/PasswordConfig.java @@ -1,11 +1,17 @@ +/* package group.goforward.battlbuilder.configuration; -// @Configuration -// public class PasswordConfig { +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; -// @Bean -// public PasswordEncoder passwordEncoder() { +@Configuration + public class PasswordConfig { + + @Bean + public PasswordEncoder passwordEncoder() { // // BCrypt default password -// return new BCryptPasswordEncoder(); -// } -// } \ No newline at end of file + return new BCryptPasswordEncoder(); + } + }*/ diff --git a/src/main/java/group/goforward/battlbuilder/configuration/package-info.java b/src/main/java/group/goforward/battlbuilder/configuration/package-info.java index 9dd2f4f..a640798 100644 --- a/src/main/java/group/goforward/battlbuilder/configuration/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/configuration/package-info.java @@ -1,13 +1,11 @@ -/** - * Provides the classes necessary for the Spring Configurations for the Battl.Builder application. - * This package includes Configurations for Spring-Boot application - * - * - *
The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.
- * - * @since 1.0 - * @author Don Strawsburg - * @version 1.1 - */ -package group.goforward.battlbuilder.configuration; \ No newline at end of file +/** + * Configuration package for the BattlBuilder application. + *+ * Contains Spring configuration classes for security, CORS, JPA, + * caching, and password encoding. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.configuration; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/admin/PartCategoryAdminController.java b/src/main/java/group/goforward/battlbuilder/controllers/admin/AdminPartCategoryController.java similarity index 90% rename from src/main/java/group/goforward/battlbuilder/controllers/admin/PartCategoryAdminController.java rename to src/main/java/group/goforward/battlbuilder/controllers/admin/AdminPartCategoryController.java index 130b9c4..5ae1c30 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/admin/PartCategoryAdminController.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/admin/AdminPartCategoryController.java @@ -9,11 +9,11 @@ import java.util.List; @RestController @RequestMapping("/api/admin/part-categories") @CrossOrigin // keep it loose for now, you can tighten origins later -public class PartCategoryAdminController { +public class AdminPartCategoryController { private final PartCategoryRepository partCategories; - public PartCategoryAdminController(PartCategoryRepository partCategories) { + public AdminPartCategoryController(PartCategoryRepository partCategories) { this.partCategories = partCategories; } diff --git a/src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformController.java b/src/main/java/group/goforward/battlbuilder/controllers/admin/AdminPlatformController.java similarity index 91% rename from src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformController.java rename to src/main/java/group/goforward/battlbuilder/controllers/admin/AdminPlatformController.java index 223ce93..307ef24 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformController.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/admin/AdminPlatformController.java @@ -13,11 +13,11 @@ import java.util.List; @RestController @RequestMapping("/api/platforms") @CrossOrigin -public class PlatformController { +public class AdminPlatformController { private final PlatformRepository platformRepository; - public PlatformController(PlatformRepository platformRepository) { + public AdminPlatformController(PlatformRepository platformRepository) { this.platformRepository = platformRepository; } diff --git a/src/main/java/group/goforward/battlbuilder/controllers/admin/package-info.java b/src/main/java/group/goforward/battlbuilder/controllers/admin/package-info.java new file mode 100644 index 0000000..32ff6f6 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/controllers/admin/package-info.java @@ -0,0 +1,11 @@ +/** + * Admin controllers package for the BattlBuilder application. + *
+ * Contains REST controllers for administrative operations including
+ * category management, platform configuration, and merchant administration.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.controllers.admin;
diff --git a/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java b/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java
new file mode 100644
index 0000000..e5c9eb1
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java
@@ -0,0 +1,128 @@
+package group.goforward.battlbuilder.controllers.api;
+
+import group.goforward.battlbuilder.utils.ApiResponse;
+import group.goforward.battlbuilder.dto.EmailRequestDto;
+import group.goforward.battlbuilder.model.EmailRequest;
+import group.goforward.battlbuilder.repos.EmailRequestRepository;
+import group.goforward.battlbuilder.services.utils.EmailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/email")
+public class EmailController {
+
+ private static final String EMAIL_STATUS_SENT = "SENT";
+
+ private final EmailService emailService;
+ private final EmailRequestRepository emailRequestRepository;
+
+ @Autowired
+ public EmailController(EmailService emailService, EmailRequestRepository emailRequestRepository) {
+ this.emailService = emailService;
+ this.emailRequestRepository = emailRequestRepository;
+ }
+
+ @GetMapping
+ public ResponseEntity The main entry point for managing the inventory is the
- * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.
+ * Contains REST API controllers for public-facing endpoints including
+ * brand management, state information, and user operations.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.controllers.api;
diff --git a/src/main/java/group/goforward/battlbuilder/controllers/package-info.java b/src/main/java/group/goforward/battlbuilder/controllers/package-info.java
index 5901f12..7f3fa4e 100644
--- a/src/main/java/group/goforward/battlbuilder/controllers/package-info.java
+++ b/src/main/java/group/goforward/battlbuilder/controllers/package-info.java
@@ -1,13 +1,11 @@
/**
- * Provides the classes necessary for the Spring Controllers for the Battl.Builder application.
- * This package includes Controllers for Spring-Boot application
+ * Utility controllers package for the BattlBuilder application.
+ *
+ * Contains utility REST controllers for email handling and
+ * health check operations.
*
- *
- * The main entry point for managing the inventory is the
- * {@link group.goforward.battlbuilder.BattlBuilderApplication} class. The main entry point for managing the inventory is the
- * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.
+ * Contains utility REST controllers for email handling and
+ * health check operations.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.controllers.utils;
diff --git a/src/main/java/group/goforward/battlbuilder/dto/EmailRequestDto.java b/src/main/java/group/goforward/battlbuilder/dto/EmailRequestDto.java
new file mode 100644
index 0000000..4c375db
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/dto/EmailRequestDto.java
@@ -0,0 +1,33 @@
+package group.goforward.battlbuilder.dto;
+
+// DTO for request
+public class EmailRequestDto {
+ private String recipient;
+ private String subject;
+ private String body;
+
+ public String getRecipient() {
+ return recipient;
+ }
+
+ public void setRecipient(String recipient) {
+ this.recipient = recipient;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ public String getBody() {
+ return body;
+ }
+
+ public void setBody(String body) {
+ this.body = body;
+ }
+}
+
diff --git a/src/main/java/group/goforward/battlbuilder/dto/package_info.java b/src/main/java/group/goforward/battlbuilder/dto/package_info.java
new file mode 100644
index 0000000..ee9a48c
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/dto/package_info.java
@@ -0,0 +1,12 @@
+
+/**
+ * Web admin DTOs package for the BattlBuilder application.
+ *
+ * Contains Data Transfer Objects specific to administrative
+ * operations including user management, mappings, and platform configuration.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.dto;
diff --git a/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java b/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java
new file mode 100644
index 0000000..8902618
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java
@@ -0,0 +1,122 @@
+package group.goforward.battlbuilder.model;
+
+import jakarta.persistence.*;
+import java.time.LocalDateTime;
+
+@Entity
+@Table(name = "email_requests")
+@NamedQuery(
+ name = "EmailRequest.findSent",
+ query = "SELECT e FROM EmailRequest e WHERE e.status = 'SENT'"
+)
+
+@NamedQuery(
+ name = "EmailRequest.findFailed",
+ query = "SELECT e FROM EmailRequest e WHERE e.status = 'FAILED'"
+)
+
+@NamedQuery(
+ name = "EmailRequest.findPending",
+ query = "SELECT e FROM EmailRequest e WHERE e.status = 'PENDING'"
+)
+
+public class EmailRequest {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ @Column(nullable = false)
+ private String recipient;
+
+ @Column(nullable = false)
+ private String subject;
+
+ @Column(columnDefinition = "TEXT")
+ private String body;
+
+ @Column(name = "sent_at")
+ private LocalDateTime sentAt;
+
+ @Column(nullable = false)
+ private String status; // PENDING, SENT, FAILED
+
+ @Column(name = "error_message")
+ private String errorMessage;
+
+ @Column(name = "created_at", nullable = false, updatable = false)
+ private LocalDateTime createdAt;
+
+ @PrePersist
+ protected void onCreate() {
+ createdAt = LocalDateTime.now();
+ if (status == null) {
+ status = "PENDING";
+ }
+ }
+
+ // Getters and Setters
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getRecipient() {
+ return recipient;
+ }
+
+ public void setRecipient(String recipient) {
+ this.recipient = recipient;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ public String getBody() {
+ return body;
+ }
+
+ public void setBody(String body) {
+ this.body = body;
+ }
+
+ public LocalDateTime getSentAt() {
+ return sentAt;
+ }
+
+ public void setSentAt(LocalDateTime sentAt) {
+ this.sentAt = sentAt;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public LocalDateTime getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(LocalDateTime createdAt) {
+ this.createdAt = createdAt;
+ }
+}
diff --git a/src/main/java/group/goforward/battlbuilder/model/package-info.java b/src/main/java/group/goforward/battlbuilder/model/package-info.java
index cd9db33..a23d8e7 100644
--- a/src/main/java/group/goforward/battlbuilder/model/package-info.java
+++ b/src/main/java/group/goforward/battlbuilder/model/package-info.java
@@ -1 +1,11 @@
-package group.goforward.battlbuilder.model;
\ No newline at end of file
+/**
+ * Model package for the BattlBuilder application.
+ *
+ * Contains JPA entity classes representing the domain model including
+ * products, merchants, categories, platforms, and user accounts.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.model;
diff --git a/src/main/java/group/goforward/battlbuilder/package-info.java b/src/main/java/group/goforward/battlbuilder/package-info.java
new file mode 100644
index 0000000..a0c3d14
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/package-info.java
@@ -0,0 +1,11 @@
+/**
+ * Root package for the BattlBuilder application.
+ *
+ * BattlBuilder is a comprehensive platform for firearm parts catalog management,
+ * product classification, and merchant integration.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder;
diff --git a/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java b/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java
new file mode 100644
index 0000000..fe9a7e2
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java
@@ -0,0 +1,18 @@
+package group.goforward.battlbuilder.repos;
+
+import group.goforward.battlbuilder.model.EmailRequest;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface EmailRequestRepository extends JpaRepository The main entry point for managing the inventory is the
- * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.
+ * Contains Spring Data JPA repository interfaces for database
+ * access and persistence operations.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.repos;
diff --git a/src/main/java/group/goforward/battlbuilder/services/admin/admin_services_package_info.java b/src/main/java/group/goforward/battlbuilder/services/admin/admin_services_package_info.java
new file mode 100644
index 0000000..69c9271
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/services/admin/admin_services_package_info.java
@@ -0,0 +1,11 @@
+/**
+ * Admin services package for the BattlBuilder application.
+ *
+ * Contains service classes for administrative business logic
+ * and operations.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.services.admin;
diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java
index 5dd357d..a67fe8a 100644
--- a/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java
+++ b/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java
@@ -28,7 +28,7 @@ public class BrandServiceImpl implements BrandService {
@Override
public Brand save(Brand item) {
- return null;
+ return repo.save(item);
}
@Override
diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java b/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java
index 8ed30f0..9447347 100644
--- a/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java
+++ b/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java
@@ -1,13 +1,10 @@
-/**
- * Provides the classes necessary for the Spring Services implementations for the Battl.Builder application.
- * This package includes Services implementations for Spring-Boot application
- *
- *
- * The main entry point for managing the inventory is the
- * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.
+ * Contains implementation classes for service interfaces.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
package group.goforward.battlbuilder.services.impl;
\ No newline at end of file
diff --git a/src/main/java/group/goforward/battlbuilder/services/package-info.java b/src/main/java/group/goforward/battlbuilder/services/package-info.java
index d14c180..b10910c 100644
--- a/src/main/java/group/goforward/battlbuilder/services/package-info.java
+++ b/src/main/java/group/goforward/battlbuilder/services/package-info.java
@@ -1 +1,12 @@
-package group.goforward.battlbuilder.services;
\ No newline at end of file
+
+/**
+ * Services package for the BattlBuilder application.
+ *
+ * Contains business logic service classes for product management,
+ * category classification, mapping recommendations, and merchant operations.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.services;
diff --git a/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java b/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java
new file mode 100644
index 0000000..f7a3075
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java
@@ -0,0 +1,9 @@
+package group.goforward.battlbuilder.services.utils;
+
+import group.goforward.battlbuilder.model.EmailRequest;
+
+public interface EmailService {
+ EmailRequest sendEmail(String recipient, String subject, String body);
+ void deleteById(Integer id);
+}
+
diff --git a/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java
new file mode 100644
index 0000000..e5221bd
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java
@@ -0,0 +1,65 @@
+package group.goforward.battlbuilder.services.utils.impl;
+
+import group.goforward.battlbuilder.model.EmailRequest;
+import group.goforward.battlbuilder.repos.EmailRequestRepository;
+import group.goforward.battlbuilder.services.utils.EmailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.mail.SimpleMailMessage;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+
+@Service
+public class EmailServiceImpl implements EmailService {
+
+ @Autowired
+ private JavaMailSender mailSender;
+
+ @Autowired
+ private EmailRequestRepository emailRequestRepository;
+
+ @Value("${spring.mail.username}")
+ private String fromEmail;
+
+ @Transactional
+ public EmailRequest sendEmail(String recipient, String subject, String body) {
+ // Create and save email request
+ EmailRequest emailRequest = new EmailRequest();
+ emailRequest.setRecipient(recipient);
+ emailRequest.setSubject(subject);
+ emailRequest.setBody(body);
+ emailRequest.setStatus("PENDING");
+
+ emailRequest = emailRequestRepository.save(emailRequest);
+
+ try {
+ // Send email
+ SimpleMailMessage message = new SimpleMailMessage();
+ message.setFrom(fromEmail);
+ message.setTo(recipient);
+ message.setSubject(subject);
+ message.setText(body);
+
+ mailSender.send(message);
+
+ // Update status
+ emailRequest.setStatus("SENT");
+ emailRequest.setSentAt(LocalDateTime.now());
+
+ } catch (Exception e) {
+ // Update status with error
+ emailRequest.setStatus("FAILED");
+ emailRequest.setErrorMessage(e.getMessage());
+ }
+
+ return emailRequestRepository.save(emailRequest);
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ deleteById(id);
+ }
+}
diff --git a/src/main/java/group/goforward/battlbuilder/services/utils/impl/package-info.java b/src/main/java/group/goforward/battlbuilder/services/utils/impl/package-info.java
new file mode 100644
index 0000000..751196b
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/services/utils/impl/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Utility service implementations package for the BattlBuilder application.
+ *
+ * Contains implementation classes for utility service interfaces.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.services.utils.impl;
diff --git a/src/main/java/group/goforward/battlbuilder/ApiResponse.java b/src/main/java/group/goforward/battlbuilder/utils/ApiResponse.java
similarity index 79%
rename from src/main/java/group/goforward/battlbuilder/ApiResponse.java
rename to src/main/java/group/goforward/battlbuilder/utils/ApiResponse.java
index d23af40..a97bcb6 100644
--- a/src/main/java/group/goforward/battlbuilder/ApiResponse.java
+++ b/src/main/java/group/goforward/battlbuilder/utils/ApiResponse.java
@@ -1,4 +1,4 @@
-package group.goforward.battlbuilder;
+package group.goforward.battlbuilder.utils;
import java.time.LocalDateTime;
@@ -24,12 +24,12 @@ public class ApiResponse
+ * Contains utility classes and helper functions used throughout
+ * the application.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.utils;
diff --git a/src/main/java/group/goforward/battlbuilder/web/admin/package-info.java b/src/main/java/group/goforward/battlbuilder/web/admin/package-info.java
new file mode 100644
index 0000000..babce08
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/web/admin/package-info.java
@@ -0,0 +1,12 @@
+
+/**
+ * Web admin package for the BattlBuilder application.
+ *
+ * Contains web controllers for administrative interface operations
+ * including user management, merchant administration, and import status.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.web.admin;
diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/auth/package_info.java b/src/main/java/group/goforward/battlbuilder/web/dto/auth/package_info.java
new file mode 100644
index 0000000..1d802b6
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/web/dto/auth/package_info.java
@@ -0,0 +1,12 @@
+
+/**
+ * Web authentication DTOs package for the BattlBuilder application.
+ *
+ * Contains Data Transfer Objects for authentication operations
+ * including login requests, registration, and authentication responses.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.web.dto.auth;
diff --git a/src/main/java/group/goforward/battlbuilder/web/package-info.java b/src/main/java/group/goforward/battlbuilder/web/package-info.java
new file mode 100644
index 0000000..f3614bf
--- /dev/null
+++ b/src/main/java/group/goforward/battlbuilder/web/package-info.java
@@ -0,0 +1,11 @@
+/**
+ * Web package for the BattlBuilder application.
+ *
+ * Contains web-related classes including controllers and DTOs
+ * for the web layer.
+ *
+ * @author Forward Group, LLC
+ * @version 1.0
+ * @since 2025-12-10
+ */
+package group.goforward.battlbuilder.web;
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index e91149f..deb144e 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -24,3 +24,11 @@ spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
+# SMTP Configuration
+spring.mail.host=mail.goforwardmail.com
+spring.mail.port=587
+spring.mail.username=info@battl.builders
+spring.mail.password=Cul8rman2025
+spring.mail.properties.mail.smtp.auth=true
+spring.mail.properties.mail.smtp.starttls.enable=true
+spring.mail.properties.mail.smtp.starttls.required=true
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/views/platform-manager.jsp b/src/main/webapp/WEB-INF/views/platform-manager.jsp
index db90424..abb2a54 100644
--- a/src/main/webapp/WEB-INF/views/platform-manager.jsp
+++ b/src/main/webapp/WEB-INF/views/platform-manager.jsp
@@ -3,7 +3,7 @@