diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..6fb85c5
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/src/api/banknotes/get-country-banknotes.ts b/src/api/banknotes/get-country-banknotes.ts
new file mode 100644
index 0000000..c40f847
--- /dev/null
+++ b/src/api/banknotes/get-country-banknotes.ts
@@ -0,0 +1,24 @@
+import { CoinProps } from "@/types/coin";
+import { readFile, readdir } from "fs/promises";
+import path from "path";
+
+export const getCountryBanknotes = async (country: string) => {
+ try {
+ const banknoteIds = await readdir(path.join("./public/banknotes", country));
+
+ const banknotes: CoinProps[] = [];
+
+ for (const banknoteId of banknoteIds) {
+ const banknote = await readFile(
+ path.join("./public/banknotes", country, banknoteId),
+ { encoding: "utf-8" },
+ );
+
+ banknotes.push(JSON.parse(banknote));
+ }
+
+ return banknotes;
+ } catch {
+ return [];
+ }
+};
diff --git a/src/api/coins/get-country-coins.ts b/src/api/coins/get-country-coins.ts
new file mode 100644
index 0000000..e7f9f62
--- /dev/null
+++ b/src/api/coins/get-country-coins.ts
@@ -0,0 +1,24 @@
+import { CoinProps } from "@/types/coin";
+import { readFile, readdir } from "fs/promises";
+import path from "path";
+
+export const getCountryCoins = async (country: string) => {
+ try {
+ const coinIds = await readdir(path.join("./public/coins", country));
+
+ const coins: CoinProps[] = [];
+
+ for (const coinId of coinIds) {
+ const coin = await readFile(
+ path.join("./public/coins", country, coinId),
+ { encoding: "utf-8" },
+ );
+
+ coins.push(JSON.parse(coin));
+ }
+
+ return coins;
+ } catch {
+ return [];
+ }
+};
diff --git a/src/components/scene/banknote.tsx b/src/components/banknote/index.tsx
similarity index 100%
rename from src/components/scene/banknote.tsx
rename to src/components/banknote/index.tsx
diff --git a/src/components/scene/coin.tsx b/src/components/coin/index.tsx
similarity index 100%
rename from src/components/scene/coin.tsx
rename to src/components/coin/index.tsx
diff --git a/src/components/header/index.tsx b/src/components/header/index.tsx
new file mode 100644
index 0000000..92b1a52
--- /dev/null
+++ b/src/components/header/index.tsx
@@ -0,0 +1,70 @@
+type Props = {
+ route: "pile" | "coins" | "banknotes";
+ country: string;
+ coinCount: number;
+ banknoteCount: number;
+};
+
+export const Header = ({ route, country, banknoteCount, coinCount }: Props) => (
+
+);
diff --git a/src/components/scene/coin-instances.tsx b/src/components/pile/coin-instances.tsx
similarity index 96%
rename from src/components/scene/coin-instances.tsx
rename to src/components/pile/coin-instances.tsx
index 538137a..2fc7bf8 100644
--- a/src/components/scene/coin-instances.tsx
+++ b/src/components/pile/coin-instances.tsx
@@ -1,5 +1,5 @@
import { CoinProps } from "@/types/coin";
-import { CoinInstance } from "./coin";
+import { CoinInstance } from "../coin";
import { useEffect, useRef } from "react";
import { InstancedMesh } from "three";
import { useCylinder } from "@react-three/cannon";
diff --git a/src/components/scene/index.tsx b/src/components/pile/index.tsx
similarity index 96%
rename from src/components/scene/index.tsx
rename to src/components/pile/index.tsx
index 4ebece0..376f5b3 100644
--- a/src/components/scene/index.tsx
+++ b/src/components/pile/index.tsx
@@ -20,7 +20,7 @@ const Plane = (props: PlaneProps) => {
);
};
-export const Scene = ({ coins }: Props) => (
+export const Pile = ({ coins }: Props) => (