diff --git a/.gitignore b/.gitignore
index d9428fc..e46bfd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,15 @@
-.env
-node_modules/
-dist/
-package-lock.json
\ No newline at end of file
+frontend/.env
+frontend/node_modules/
+frontend/dist/
+frontend/package-lock.json
+
+backend/target/
+backend/.mvn/wrapper/maven-wrapper.jar
+backend/!**/src/main/**/target/
+backend/!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+backend/.idea
+backend/*.iws
+backend/*.iml
+backend/*.ipr
diff --git a/backend/.mvn/wrapper/maven-wrapper.properties b/backend/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..8dea6c2
--- /dev/null
+++ b/backend/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,3 @@
+wrapperVersion=3.3.4
+distributionType=only-script
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip
diff --git a/backend/pom.xml b/backend/pom.xml
new file mode 100644
index 0000000..6145bb8
--- /dev/null
+++ b/backend/pom.xml
@@ -0,0 +1,95 @@
+
+
+ 4.0.0
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 4.0.2
+
+
+
+ es.adeptusminiaturium
+ backend
+
+ 1.0.0
+ backend
+ Adeptus Miniaturium's online site
+
+
+ 25
+ 25
+ 25
+
+
+
+
+ gitea
+ https://git.miarma.net/api/packages/Gallardo7761/maven
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ runtime
+
+
+
+ io.jsonwebtoken
+ jjwt-api
+ 0.11.5
+
+
+ io.jsonwebtoken
+ jjwt-impl
+ 0.11.5
+ runtime
+
+
+ io.jsonwebtoken
+ jjwt-jackson
+ 0.11.5
+ runtime
+
+
+ net.miarma
+ backlib
+ 1.1.0
+ compile
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
+
diff --git a/backend/src/main/java/es/adeptusminiaturium/backend/BackendApplication.java b/backend/src/main/java/es/adeptusminiaturium/backend/BackendApplication.java
new file mode 100644
index 0000000..dc487fc
--- /dev/null
+++ b/backend/src/main/java/es/adeptusminiaturium/backend/BackendApplication.java
@@ -0,0 +1,12 @@
+package es.adeptusminiaturium.backend;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class BackendApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(BackendApplication.class, args);
+ }
+
+}
diff --git a/backend/src/main/java/es/adeptusminiaturium/backend/model/Media.java b/backend/src/main/java/es/adeptusminiaturium/backend/model/Media.java
new file mode 100644
index 0000000..5a651d7
--- /dev/null
+++ b/backend/src/main/java/es/adeptusminiaturium/backend/model/Media.java
@@ -0,0 +1,4 @@
+package es.adeptusminiaturium.backend.model;
+
+public class Media {
+}
diff --git a/backend/src/main/java/es/adeptusminiaturium/backend/model/Post.java b/backend/src/main/java/es/adeptusminiaturium/backend/model/Post.java
new file mode 100644
index 0000000..abe1325
--- /dev/null
+++ b/backend/src/main/java/es/adeptusminiaturium/backend/model/Post.java
@@ -0,0 +1,4 @@
+package es.adeptusminiaturium.backend.model;
+
+public class Post {
+}
diff --git a/backend/src/main/java/es/adeptusminiaturium/backend/model/Publication.java b/backend/src/main/java/es/adeptusminiaturium/backend/model/Publication.java
new file mode 100644
index 0000000..487e5c5
--- /dev/null
+++ b/backend/src/main/java/es/adeptusminiaturium/backend/model/Publication.java
@@ -0,0 +1,4 @@
+package es.adeptusminiaturium.backend.model;
+
+public class Publication {
+}
diff --git a/backend/src/main/java/es/adeptusminiaturium/backend/model/User.java b/backend/src/main/java/es/adeptusminiaturium/backend/model/User.java
new file mode 100644
index 0000000..a189afb
--- /dev/null
+++ b/backend/src/main/java/es/adeptusminiaturium/backend/model/User.java
@@ -0,0 +1,4 @@
+package es.adeptusminiaturium.backend.model;
+
+public class User {
+}
diff --git a/backend/src/main/resources/application-dev.yaml b/backend/src/main/resources/application-dev.yaml
new file mode 100644
index 0000000..9d618c1
--- /dev/null
+++ b/backend/src/main/resources/application-dev.yaml
@@ -0,0 +1,16 @@
+server:
+ port: 8080
+ servlet:
+ context-path: /v1/
+
+spring:
+ datasource:
+ url: jdbc:mariadb://localhost:3306/miniaturium
+ username: admin
+ password: ${DB_PASS}
+ driver-class-name: org.mariadb.jdbc.Driver
+
+logging:
+ level:
+ org.hibernate.SQL: DEBUG
+ org.hibernate.orm.jdbc.bind: TRACE
\ No newline at end of file
diff --git a/backend/src/main/resources/application-prod.yaml b/backend/src/main/resources/application-prod.yaml
new file mode 100644
index 0000000..87c6604
--- /dev/null
+++ b/backend/src/main/resources/application-prod.yaml
@@ -0,0 +1,15 @@
+server:
+ port: 8080
+ servlet:
+ context-path: /v1/
+
+spring:
+ datasource:
+ url: jdbc:mariadb://mariadb:3306/miniaturium
+ username: ${DB_USER}
+ password: ${DB_PASS}
+ driver-class-name: org.mariadb.jdbc.Driver
+
+logging:
+ level:
+ org.hibernate.SQL: WARN
\ No newline at end of file
diff --git a/backend/src/main/resources/application.yaml b/backend/src/main/resources/application.yaml
new file mode 100644
index 0000000..79827c4
--- /dev/null
+++ b/backend/src/main/resources/application.yaml
@@ -0,0 +1,25 @@
+spring:
+ application:
+ name: backend
+
+ jpa:
+ open-in-view: false
+ hibernate:
+ ddl-auto: validate
+ properties:
+ hibernate:
+ jdbc:
+ time_zone: UTC
+
+ jackson:
+ default-property-inclusion: non_null
+ time-zone: Europe/Madrid
+
+jwt:
+ expiration-ms: 3600000
+
+management:
+ endpoints:
+ web:
+ exposure:
+ include: health,info
diff --git a/LICENSE b/frontend/LICENSE
similarity index 100%
rename from LICENSE
rename to frontend/LICENSE
diff --git a/index.html b/frontend/index.html
similarity index 100%
rename from index.html
rename to frontend/index.html
diff --git a/jsconfig.json b/frontend/jsconfig.json
similarity index 100%
rename from jsconfig.json
rename to frontend/jsconfig.json
diff --git a/package.json b/frontend/package.json
similarity index 100%
rename from package.json
rename to frontend/package.json
diff --git a/public/config/settings.dev.json b/frontend/public/config/settings.dev.json
similarity index 100%
rename from public/config/settings.dev.json
rename to frontend/public/config/settings.dev.json
diff --git a/public/config/settings.prod.json b/frontend/public/config/settings.prod.json
similarity index 100%
rename from public/config/settings.prod.json
rename to frontend/public/config/settings.prod.json
diff --git a/public/fonts/OpenSans.ttf b/frontend/public/fonts/OpenSans.ttf
similarity index 100%
rename from public/fonts/OpenSans.ttf
rename to frontend/public/fonts/OpenSans.ttf
diff --git a/public/fonts/ProductSansBold.ttf b/frontend/public/fonts/ProductSansBold.ttf
similarity index 100%
rename from public/fonts/ProductSansBold.ttf
rename to frontend/public/fonts/ProductSansBold.ttf
diff --git a/public/fonts/ProductSansBoldItalic.ttf b/frontend/public/fonts/ProductSansBoldItalic.ttf
similarity index 100%
rename from public/fonts/ProductSansBoldItalic.ttf
rename to frontend/public/fonts/ProductSansBoldItalic.ttf
diff --git a/public/fonts/ProductSansItalic.ttf b/frontend/public/fonts/ProductSansItalic.ttf
similarity index 100%
rename from public/fonts/ProductSansItalic.ttf
rename to frontend/public/fonts/ProductSansItalic.ttf
diff --git a/public/fonts/ProductSansRegular.ttf b/frontend/public/fonts/ProductSansRegular.ttf
similarity index 100%
rename from public/fonts/ProductSansRegular.ttf
rename to frontend/public/fonts/ProductSansRegular.ttf
diff --git a/public/images/mini_1.jpeg b/frontend/public/images/mini_1.jpeg
similarity index 100%
rename from public/images/mini_1.jpeg
rename to frontend/public/images/mini_1.jpeg
diff --git a/public/images/mini_2.jpeg b/frontend/public/images/mini_2.jpeg
similarity index 100%
rename from public/images/mini_2.jpeg
rename to frontend/public/images/mini_2.jpeg
diff --git a/public/images/mini_3.jpeg b/frontend/public/images/mini_3.jpeg
similarity index 100%
rename from public/images/mini_3.jpeg
rename to frontend/public/images/mini_3.jpeg
diff --git a/public/images/mini_4.jpeg b/frontend/public/images/mini_4.jpeg
similarity index 100%
rename from public/images/mini_4.jpeg
rename to frontend/public/images/mini_4.jpeg
diff --git a/public/images/mini_5.jpeg b/frontend/public/images/mini_5.jpeg
similarity index 100%
rename from public/images/mini_5.jpeg
rename to frontend/public/images/mini_5.jpeg
diff --git a/public/images/pfp.jpg b/frontend/public/images/pfp.jpg
similarity index 100%
rename from public/images/pfp.jpg
rename to frontend/public/images/pfp.jpg
diff --git a/src/App.jsx b/frontend/src/App.jsx
similarity index 100%
rename from src/App.jsx
rename to frontend/src/App.jsx
diff --git a/src/api/axiosInstance.js b/frontend/src/api/axiosInstance.js
similarity index 100%
rename from src/api/axiosInstance.js
rename to frontend/src/api/axiosInstance.js
diff --git a/src/components/AnimatedDropdown.jsx b/frontend/src/components/AnimatedDropdown.jsx
similarity index 100%
rename from src/components/AnimatedDropdown.jsx
rename to frontend/src/components/AnimatedDropdown.jsx
diff --git a/src/components/Auth/IfAuthenticated.jsx b/frontend/src/components/Auth/IfAuthenticated.jsx
similarity index 100%
rename from src/components/Auth/IfAuthenticated.jsx
rename to frontend/src/components/Auth/IfAuthenticated.jsx
diff --git a/src/components/Auth/IfNotAuthenticated.jsx b/frontend/src/components/Auth/IfNotAuthenticated.jsx
similarity index 100%
rename from src/components/Auth/IfNotAuthenticated.jsx
rename to frontend/src/components/Auth/IfNotAuthenticated.jsx
diff --git a/src/components/Auth/IfRole.jsx b/frontend/src/components/Auth/IfRole.jsx
similarity index 100%
rename from src/components/Auth/IfRole.jsx
rename to frontend/src/components/Auth/IfRole.jsx
diff --git a/src/components/Auth/LoginForm.jsx b/frontend/src/components/Auth/LoginForm.jsx
similarity index 100%
rename from src/components/Auth/LoginForm.jsx
rename to frontend/src/components/Auth/LoginForm.jsx
diff --git a/src/components/Auth/PasswordInput.jsx b/frontend/src/components/Auth/PasswordInput.jsx
similarity index 100%
rename from src/components/Auth/PasswordInput.jsx
rename to frontend/src/components/Auth/PasswordInput.jsx
diff --git a/src/components/Auth/ProtectedRoute.jsx b/frontend/src/components/Auth/ProtectedRoute.jsx
similarity index 100%
rename from src/components/Auth/ProtectedRoute.jsx
rename to frontend/src/components/Auth/ProtectedRoute.jsx
diff --git a/src/components/ContentWrapper.jsx b/frontend/src/components/ContentWrapper.jsx
similarity index 100%
rename from src/components/ContentWrapper.jsx
rename to frontend/src/components/ContentWrapper.jsx
diff --git a/src/components/CustomCarousel.jsx b/frontend/src/components/CustomCarousel.jsx
similarity index 100%
rename from src/components/CustomCarousel.jsx
rename to frontend/src/components/CustomCarousel.jsx
diff --git a/src/components/CustomContainer.jsx b/frontend/src/components/CustomContainer.jsx
similarity index 100%
rename from src/components/CustomContainer.jsx
rename to frontend/src/components/CustomContainer.jsx
diff --git a/src/components/CustomModal.jsx b/frontend/src/components/CustomModal.jsx
similarity index 100%
rename from src/components/CustomModal.jsx
rename to frontend/src/components/CustomModal.jsx
diff --git a/src/components/Footer.jsx b/frontend/src/components/Footer.jsx
similarity index 100%
rename from src/components/Footer.jsx
rename to frontend/src/components/Footer.jsx
diff --git a/src/components/Header.jsx b/frontend/src/components/Header.jsx
similarity index 100%
rename from src/components/Header.jsx
rename to frontend/src/components/Header.jsx
diff --git a/src/components/Home/ScrollBackgroundSpin.jsx b/frontend/src/components/Home/ScrollBackgroundSpin.jsx
similarity index 100%
rename from src/components/Home/ScrollBackgroundSpin.jsx
rename to frontend/src/components/Home/ScrollBackgroundSpin.jsx
diff --git a/src/components/LanguageButton.jsx b/frontend/src/components/LanguageButton.jsx
similarity index 100%
rename from src/components/LanguageButton.jsx
rename to frontend/src/components/LanguageButton.jsx
diff --git a/src/components/LoadingIcon.jsx b/frontend/src/components/LoadingIcon.jsx
similarity index 100%
rename from src/components/LoadingIcon.jsx
rename to frontend/src/components/LoadingIcon.jsx
diff --git a/src/components/NavBar/NavBar.jsx b/frontend/src/components/NavBar/NavBar.jsx
similarity index 100%
rename from src/components/NavBar/NavBar.jsx
rename to frontend/src/components/NavBar/NavBar.jsx
diff --git a/src/components/NavBar/NavItem.jsx b/frontend/src/components/NavBar/NavItem.jsx
similarity index 100%
rename from src/components/NavBar/NavItem.jsx
rename to frontend/src/components/NavBar/NavItem.jsx
diff --git a/src/components/NavBar/desktop/NavBarDesktop.jsx b/frontend/src/components/NavBar/desktop/NavBarDesktop.jsx
similarity index 100%
rename from src/components/NavBar/desktop/NavBarDesktop.jsx
rename to frontend/src/components/NavBar/desktop/NavBarDesktop.jsx
diff --git a/src/components/NavBar/mobile/NavBarMobile.jsx b/frontend/src/components/NavBar/mobile/NavBarMobile.jsx
similarity index 100%
rename from src/components/NavBar/mobile/NavBarMobile.jsx
rename to frontend/src/components/NavBar/mobile/NavBarMobile.jsx
diff --git a/src/components/NotificationModal.jsx b/frontend/src/components/NotificationModal.jsx
similarity index 100%
rename from src/components/NotificationModal.jsx
rename to frontend/src/components/NotificationModal.jsx
diff --git a/src/components/TechCard.jsx b/frontend/src/components/TechCard.jsx
similarity index 100%
rename from src/components/TechCard.jsx
rename to frontend/src/components/TechCard.jsx
diff --git a/src/context/AuthContext.jsx b/frontend/src/context/AuthContext.jsx
similarity index 100%
rename from src/context/AuthContext.jsx
rename to frontend/src/context/AuthContext.jsx
diff --git a/src/context/ConfigContext.jsx b/frontend/src/context/ConfigContext.jsx
similarity index 100%
rename from src/context/ConfigContext.jsx
rename to frontend/src/context/ConfigContext.jsx
diff --git a/src/context/DataContext.jsx b/frontend/src/context/DataContext.jsx
similarity index 100%
rename from src/context/DataContext.jsx
rename to frontend/src/context/DataContext.jsx
diff --git a/src/context/ErrorContext.jsx b/frontend/src/context/ErrorContext.jsx
similarity index 100%
rename from src/context/ErrorContext.jsx
rename to frontend/src/context/ErrorContext.jsx
diff --git a/src/css/AnimatedDropdown.css b/frontend/src/css/AnimatedDropdown.css
similarity index 100%
rename from src/css/AnimatedDropdown.css
rename to frontend/src/css/AnimatedDropdown.css
diff --git a/src/css/CustomCarousel.css b/frontend/src/css/CustomCarousel.css
similarity index 100%
rename from src/css/CustomCarousel.css
rename to frontend/src/css/CustomCarousel.css
diff --git a/src/css/Footer.css b/frontend/src/css/Footer.css
similarity index 100%
rename from src/css/Footer.css
rename to frontend/src/css/Footer.css
diff --git a/src/css/Header.css b/frontend/src/css/Header.css
similarity index 100%
rename from src/css/Header.css
rename to frontend/src/css/Header.css
diff --git a/src/css/LoginForm.css b/frontend/src/css/LoginForm.css
similarity index 100%
rename from src/css/LoginForm.css
rename to frontend/src/css/LoginForm.css
diff --git a/src/css/NavBar.css b/frontend/src/css/NavBar.css
similarity index 100%
rename from src/css/NavBar.css
rename to frontend/src/css/NavBar.css
diff --git a/src/css/NavBarMobile.css b/frontend/src/css/NavBarMobile.css
similarity index 100%
rename from src/css/NavBarMobile.css
rename to frontend/src/css/NavBarMobile.css
diff --git a/src/css/PasswordInput.css b/frontend/src/css/PasswordInput.css
similarity index 100%
rename from src/css/PasswordInput.css
rename to frontend/src/css/PasswordInput.css
diff --git a/src/css/TechCard.css b/frontend/src/css/TechCard.css
similarity index 100%
rename from src/css/TechCard.css
rename to frontend/src/css/TechCard.css
diff --git a/src/css/index.css b/frontend/src/css/index.css
similarity index 100%
rename from src/css/index.css
rename to frontend/src/css/index.css
diff --git a/src/hooks/useAuth.js b/frontend/src/hooks/useAuth.js
similarity index 100%
rename from src/hooks/useAuth.js
rename to frontend/src/hooks/useAuth.js
diff --git a/src/hooks/useConfig.js b/frontend/src/hooks/useConfig.js
similarity index 100%
rename from src/hooks/useConfig.js
rename to frontend/src/hooks/useConfig.js
diff --git a/src/hooks/useData.js b/frontend/src/hooks/useData.js
similarity index 100%
rename from src/hooks/useData.js
rename to frontend/src/hooks/useData.js
diff --git a/src/hooks/useDataContext.js b/frontend/src/hooks/useDataContext.js
similarity index 100%
rename from src/hooks/useDataContext.js
rename to frontend/src/hooks/useDataContext.js
diff --git a/src/hooks/useWindowWidth.js b/frontend/src/hooks/useWindowWidth.js
similarity index 100%
rename from src/hooks/useWindowWidth.js
rename to frontend/src/hooks/useWindowWidth.js
diff --git a/src/i18n.js b/frontend/src/i18n.js
similarity index 100%
rename from src/i18n.js
rename to frontend/src/i18n.js
diff --git a/src/locales/en.json b/frontend/src/locales/en.json
similarity index 100%
rename from src/locales/en.json
rename to frontend/src/locales/en.json
diff --git a/src/locales/es.json b/frontend/src/locales/es.json
similarity index 100%
rename from src/locales/es.json
rename to frontend/src/locales/es.json
diff --git a/src/main.jsx b/frontend/src/main.jsx
similarity index 100%
rename from src/main.jsx
rename to frontend/src/main.jsx
diff --git a/src/pages/Home.jsx b/frontend/src/pages/Home.jsx
similarity index 100%
rename from src/pages/Home.jsx
rename to frontend/src/pages/Home.jsx
diff --git a/src/pages/Login.jsx b/frontend/src/pages/Login.jsx
similarity index 100%
rename from src/pages/Login.jsx
rename to frontend/src/pages/Login.jsx
diff --git a/src/util/array.js b/frontend/src/util/array.js
similarity index 100%
rename from src/util/array.js
rename to frontend/src/util/array.js
diff --git a/src/util/constants.js b/frontend/src/util/constants.js
similarity index 100%
rename from src/util/constants.js
rename to frontend/src/util/constants.js
diff --git a/src/util/date.js b/frontend/src/util/date.js
similarity index 100%
rename from src/util/date.js
rename to frontend/src/util/date.js
diff --git a/vite.config.js b/frontend/vite.config.js
similarity index 100%
rename from vite.config.js
rename to frontend/vite.config.js
diff --git a/index-orig.html b/index-orig.html
deleted file mode 100644
index 8238ad8..0000000
--- a/index-orig.html
+++ /dev/null
@@ -1,415 +0,0 @@
-
-
-
-
-
-Adeptus Miniaturium | Sanctus Painting
-
-
-
-
-
-
-
-
-
-
-
-
-
- +++ Inicializando Lógica +++
-
-
// PENSAMIENTO DEL DÍA: LA ESPERANZA ES EL PRIMER PASO HACIA LA DECEPCIÓN.
-
-
Bienvenido al manufactorum personal del Artífice Marcos . Aquí, las miniaturas grises son purgadas de su falta de color y bendecidas con pigmentos sagrados, lavados de Nuln Oil y pincel seco ritual.
-
No pintamos juguetes. Forjamos veteranos de la Larga Guerra.
-
-
Iniciar Protocolo de Encargo
-
-
-
-
- +++ Archivos de Batalla +++
-
-
-
- ☠
-
-
Muestra A-1: Astartes Pattern
-
-
-
- ⚙
-
-
Muestra B-2: Engine War
-
-
-
- ⚔
-
-
Muestra C-3: Xenos Filth
-
-
-
-
-
- +++ Súplica al Manufactorum +++
-
-
Rellena los datos para solicitar la atención del Artífice. Sé preciso, el tiempo es un recurso limitado del Emperador.
-
-
-
-
-
- +++ Archivo: Magos Marcos +++
-
-
-
-
[ESTADO] : Operativo
- [UBICACIÓN] : Sector Baeticus (Andalucía)
- [ESPECIALIDAD] : Grimdark Realista, Weathering pesado, OSL.
-
Marcos no pinta para que queden bonitos en la estantería. Pinta para que parezca que tus muñecos han sobrevivido a un bombardeo orbital en Istvaan V. Aquí hay barro, sangre y oscuridad.
-
-
-
-
-
-
-
-
-
\ No newline at end of file