diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..ad3c751
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,4 @@
+VITE_POLYGON_API_URL=
+VITE_POLYGON_API_KEY=
+VITE_ETHEREUM_API_URL=
+VITE_ETHEREUM_API_KEY=
\ No newline at end of file
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000..1662622
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,22 @@
+/* eslint-env node */
+require('@rushstack/eslint-patch/modern-module-resolution');
+
+module.exports = {
+ root: true,
+ extends: [
+ 'plugin:vue/vue3-essential',
+ 'eslint:recommended',
+ '@vue/eslint-config-typescript',
+ '@vue/eslint-config-prettier',
+ ],
+ parserOptions: {
+ ecmaVersion: 'latest',
+ },
+ plugins: ['vue'],
+ rules: {
+ indent: ['error', 2],
+ 'linebreak-style': ['error', 'unix'],
+ quotes: ['error', 'single'],
+ semi: ['error', 'always'],
+ },
+};
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index a980d12..0000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,15 +0,0 @@
-module.exports = {
- env: {
- browser: true,
- es2021: true,
- },
- extends: ['eslint:recommended', 'plugin:vue/vue3-essential'],
- overrides: [],
- plugins: ['vue'],
- rules: {
- indent: ['error', 2],
- 'linebreak-style': ['error', 'unix'],
- quotes: ['error', 'single'],
- semi: ['error', 'always'],
- },
-};
diff --git a/.gitignore b/.gitignore
index 38adffa..bca5a4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@ dist
dist-ssr
coverage
*.local
+.env
/cypress/videos/
/cypress/screenshots/
diff --git a/.prettierrc b/.prettierrc.json
similarity index 100%
rename from .prettierrc
rename to .prettierrc.json
diff --git a/README.md b/README.md
index 20a7774..296c0f3 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-# nft-gallery
+# nft-gallery
\ No newline at end of file
diff --git a/env.d.ts b/env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/env.d.ts
@@ -0,0 +1 @@
+///