diff --git a/ems-backend/.dockerignore b/ems-backend/.dockerignore
new file mode 100644
index 0000000..f3ccc5e
--- /dev/null
+++ b/ems-backend/.dockerignore
@@ -0,0 +1,5 @@
+target
+.idea
+.vscode
+.git
+*.iml
diff --git a/ems-backend/Dockerfile b/ems-backend/Dockerfile
new file mode 100644
index 0000000..27e96e2
--- /dev/null
+++ b/ems-backend/Dockerfile
@@ -0,0 +1,24 @@
+FROM maven:3.9.9-eclipse-temurin-17 AS build
+
+WORKDIR /workspace
+COPY pom.xml .
+COPY mvnw .
+COPY .mvn .mvn
+RUN chmod +x mvnw && sed -i 's/\r$//' mvnw
+
+COPY src src
+RUN ./mvnw -DskipTests package
+
+FROM eclipse-temurin:17-jre-alpine
+
+WORKDIR /app
+ENV JAVA_OPTS=""
+
+COPY --from=build /workspace/target/ems-backend-0.0.1-SNAPSHOT.jar /app/app.jar
+COPY json-db /app/json-db
+COPY uploads /app/uploads
+
+EXPOSE 8080
+VOLUME ["/app/json-db", "/app/uploads"]
+
+ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar"]
diff --git a/ems-frontend/.idea/MarsCodeWorkspaceAppSettings.xml b/ems-frontend/.idea/MarsCodeWorkspaceAppSettings.xml
deleted file mode 100644
index a0c55bf..0000000
--- a/ems-frontend/.idea/MarsCodeWorkspaceAppSettings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ems-frontend/.idea/ems-frontend.iml b/ems-frontend/.idea/ems-frontend.iml
deleted file mode 100644
index d6ebd48..0000000
--- a/ems-frontend/.idea/ems-frontend.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ems-frontend/.idea/misc.xml b/ems-frontend/.idea/misc.xml
deleted file mode 100644
index 89ee753..0000000
--- a/ems-frontend/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ems-frontend/.idea/vcs.xml b/ems-frontend/.idea/vcs.xml
deleted file mode 100644
index 6c0b863..0000000
--- a/ems-frontend/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ems-frontend/.idea/workspace.xml b/ems-frontend/.idea/workspace.xml
deleted file mode 100644
index 9860ebd..0000000
--- a/ems-frontend/.idea/workspace.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- "customColor": "",
- "associatedIndex": 0
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1750467647840
-
-
- 1750467647840
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ems-frontend/ems-monitoring-system/.vscode/extensions.json b/ems-frontend/ems-monitoring-system/.vscode/extensions.json
deleted file mode 100644
index aecab6c..0000000
--- a/ems-frontend/ems-monitoring-system/.vscode/extensions.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "recommendations": [
- "Vue.volar",
- "esbenp.prettier-vscode"
- ]
-}
diff --git a/ems-frontend/ems-monitoring-system/public/auth-bg.avif b/ems-frontend/ems-monitoring-system/public/auth-bg.avif
new file mode 100644
index 0000000..1008d3d
Binary files /dev/null and b/ems-frontend/ems-monitoring-system/public/auth-bg.avif differ
diff --git a/ems-frontend/ems-monitoring-system/public/forgot-password-bg.avif b/ems-frontend/ems-monitoring-system/public/forgot-password-bg.avif
new file mode 100644
index 0000000..1008d3d
Binary files /dev/null and b/ems-frontend/ems-monitoring-system/public/forgot-password-bg.avif differ
diff --git a/ems-frontend/ems-monitoring-system/public/login-bg.avif b/ems-frontend/ems-monitoring-system/public/login-bg.avif
new file mode 100644
index 0000000..1008d3d
Binary files /dev/null and b/ems-frontend/ems-monitoring-system/public/login-bg.avif differ
diff --git a/ems-frontend/ems-monitoring-system/public/register-bg.avif b/ems-frontend/ems-monitoring-system/public/register-bg.avif
new file mode 100644
index 0000000..1008d3d
Binary files /dev/null and b/ems-frontend/ems-monitoring-system/public/register-bg.avif differ
diff --git a/ems-frontend/ems-monitoring-system/public/reset-password-bg.avif b/ems-frontend/ems-monitoring-system/public/reset-password-bg.avif
new file mode 100644
index 0000000..1008d3d
Binary files /dev/null and b/ems-frontend/ems-monitoring-system/public/reset-password-bg.avif differ
diff --git a/ems-frontend/ems-monitoring-system/src/views/ForgotPasswordView.vue b/ems-frontend/ems-monitoring-system/src/views/ForgotPasswordView.vue
index d89aa9e..3e1bb0e 100644
--- a/ems-frontend/ems-monitoring-system/src/views/ForgotPasswordView.vue
+++ b/ems-frontend/ems-monitoring-system/src/views/ForgotPasswordView.vue
@@ -109,7 +109,7 @@ const handleSubmit = () => {
justify-content: center;
align-items: center;
height: 100vh;
- background-image: url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
+ background-image: url('/forgot-password-bg.avif');
background-size: cover;
background-position: center;
}
@@ -184,4 +184,4 @@ const handleSubmit = () => {
border: none;
box-shadow: none;
}
-
\ No newline at end of file
+
diff --git a/ems-frontend/ems-monitoring-system/src/views/LoginView.vue b/ems-frontend/ems-monitoring-system/src/views/LoginView.vue
index f9d8fb5..48883a5 100644
--- a/ems-frontend/ems-monitoring-system/src/views/LoginView.vue
+++ b/ems-frontend/ems-monitoring-system/src/views/LoginView.vue
@@ -87,7 +87,7 @@ const handleGuestAccess = () => {
height: 100vh;
width: 100vw;
overflow: hidden; /* Prevent scrolling */
- background-image: url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
+ background-image: url('/login-bg.avif');
background-size: cover;
background-position: center;
}
@@ -237,4 +237,4 @@ const handleGuestAccess = () => {
background-color: rgba(255, 255, 255, 0.9) !important;
border-radius: 10px !important;
}
-
\ No newline at end of file
+
diff --git a/ems-frontend/ems-monitoring-system/src/views/RegisterView.vue b/ems-frontend/ems-monitoring-system/src/views/RegisterView.vue
index 8ade10e..7a5d99b 100644
--- a/ems-frontend/ems-monitoring-system/src/views/RegisterView.vue
+++ b/ems-frontend/ems-monitoring-system/src/views/RegisterView.vue
@@ -181,7 +181,7 @@ const handleRegister = async () => {
width: 100vw;
overflow-y: auto; /* Allow scrolling only if card is too tall */
padding: 40px 0;
- background-image: url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
+ background-image: url('/register-bg.avif');
background-size: cover;
background-position: center;
}
@@ -296,4 +296,4 @@ const handleRegister = async () => {
height: 45px;
border-radius: 10px;
}
-
\ No newline at end of file
+
diff --git a/ems-frontend/ems-monitoring-system/src/views/ResetPasswordView.vue b/ems-frontend/ems-monitoring-system/src/views/ResetPasswordView.vue
index 5225ef1..f7a0613 100644
--- a/ems-frontend/ems-monitoring-system/src/views/ResetPasswordView.vue
+++ b/ems-frontend/ems-monitoring-system/src/views/ResetPasswordView.vue
@@ -160,7 +160,7 @@ const handleSubmit = () => {
justify-content: center;
align-items: center;
height: 100vh;
- background-image: url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
+ background-image: url('/reset-password-bg.avif');
background-size: cover;
background-position: center;
}
@@ -214,4 +214,4 @@ const handleSubmit = () => {
margin-top: 1rem;
text-align: center;
}
-
\ No newline at end of file
+