diff --git a/pages/index.tsx b/pages/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..929f13282f87b83a95e22a173b80847366a920fb
--- /dev/null
+++ b/pages/index.tsx
@@ -0,0 +1,4 @@
+import { MinervaSPA } from '@/components/SPA';
+import '@/styles/index.css';
+
+export default MinervaSPA;
diff --git a/src/assets/images/image.jpg b/src/assets/images/image.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..82f35d29fafb251c1b1b48d294fba36e3abc1676
Binary files /dev/null and b/src/assets/images/image.jpg differ
diff --git a/src/components/Map/Map.component.tsx b/src/components/Map/Map.component.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..8c11af5fbec6e194ad6cea178f68b8f86498291b
--- /dev/null
+++ b/src/components/Map/Map.component.tsx
@@ -0,0 +1,8 @@
+import mapImg from '@/assets/images/image.jpg';
+import Image from 'next/image';
+
+export const Map = (): JSX.Element => (
+  <div className="w-100 h-screen bg-black" data-testid="map-container">
+    <Image src={mapImg} fill sizes="100vw" alt="map" />
+  </div>
+);
diff --git a/src/components/Map/index.ts b/src/components/Map/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e668f6c306b09500742696f1b09b5aec14bdf26d
--- /dev/null
+++ b/src/components/Map/index.ts
@@ -0,0 +1 @@
+export { Map } from './Map.component';
diff --git a/src/components/SPA/MinervaSPA.component.test.tsx b/src/components/SPA/MinervaSPA.component.test.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..7b3241f42f5ad57c73d7e47980cab82d9eb825ec
--- /dev/null
+++ b/src/components/SPA/MinervaSPA.component.test.tsx
@@ -0,0 +1,25 @@
+import React from 'react';
+import { RenderResult, render } from '@testing-library/react';
+import { MinervaSPA } from '.';
+
+const renderComponent = (): RenderResult => render(<MinervaSPA />);
+
+describe('MinervaSPA - component', () => {
+  it('should include navbar true', () => {
+    renderComponent();
+
+    expect(false).toBe(true);
+  });
+
+  it('should include map', () => {
+    renderComponent();
+
+    expect(false).toBe(true);
+  });
+
+  it('should include top bar', () => {
+    renderComponent();
+
+    expect(false).toBe(true);
+  });
+});
diff --git a/src/components/SPA/MinervaSPA.component.tsx b/src/components/SPA/MinervaSPA.component.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..afc8ac649caf550b9438ad3a456a63c948060378
--- /dev/null
+++ b/src/components/SPA/MinervaSPA.component.tsx
@@ -0,0 +1,7 @@
+import { Map } from '@/components/Map';
+
+export const MinervaSPA = (): JSX.Element => (
+  <div className="relative">
+    <Map />
+  </div>
+);
diff --git a/src/components/SPA/index.ts b/src/components/SPA/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..cbcb2430077a3ae10abc6fa0ca4d2ab8caf55381
--- /dev/null
+++ b/src/components/SPA/index.ts
@@ -0,0 +1 @@
+export { MinervaSPA } from './MinervaSPA.component';