diff --git a/.firebaserc b/.firebaserc
new file mode 100644
index 0000000..853f674
--- /dev/null
+++ b/.firebaserc
@@ -0,0 +1,5 @@
+{
+ "projects": {
+ "default": "shy-app-io"
+ }
+}
diff --git a/firebase.json b/firebase.json
new file mode 100644
index 0000000..8861376
--- /dev/null
+++ b/firebase.json
@@ -0,0 +1,23 @@
+{
+ "firestore": {
+ "rules": "./firebase/firestore.rules",
+ "indexes": "./firebase/firestore.indexes.json"
+ },
+ "hosting": {
+ "public": "build",
+ "ignore": [
+ "firebase.json",
+ "**/.*",
+ "**/node_modules/**"
+ ],
+ "rewrites": [
+ {
+ "source": "**",
+ "destination": "/index.html"
+ }
+ ]
+ },
+ "storage": {
+ "rules": "./firebase/storage.rules"
+ }
+}
\ No newline at end of file
diff --git a/firebase/firestore.indexes.json b/firebase/firestore.indexes.json
new file mode 100644
index 0000000..2ddb5ce
--- /dev/null
+++ b/firebase/firestore.indexes.json
@@ -0,0 +1,4 @@
+{
+ "indexes": [],
+ "fieldOverrides": []
+}
\ No newline at end of file
diff --git a/firebase/firestore.rules b/firebase/firestore.rules
new file mode 100644
index 0000000..31eda17
--- /dev/null
+++ b/firebase/firestore.rules
@@ -0,0 +1,7 @@
+service cloud.firestore {
+ match /databases/{database}/documents {
+ match /{document=**} {
+ allow read, write;
+ }
+ }
+}
diff --git a/firebase/storage.rules b/firebase/storage.rules
new file mode 100644
index 0000000..d494542
--- /dev/null
+++ b/firebase/storage.rules
@@ -0,0 +1,7 @@
+service firebase.storage {
+ match /b/{bucket}/o {
+ match /{allPaths=**} {
+ allow read, write: if request.auth!=null;
+ }
+ }
+}
diff --git a/package.json b/package.json
index c6bd775..49bb22a 100644
--- a/package.json
+++ b/package.json
@@ -4,9 +4,11 @@
"private": true,
"dependencies": {
"node-sass": "^4.11.0",
+ "normalize.css": "^8.0.1",
"react": "^16.8.4",
"react-dom": "^16.8.4",
"react-redux": "^6.0.1",
+ "react-router-dom": "^4.3.1",
"react-scripts": "2.1.8"
},
"scripts": {
diff --git a/src/App.js b/src/App.js
deleted file mode 100644
index 8d33615..0000000
--- a/src/App.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import React, { Component } from 'react';
-
-class App extends Component {
- render() {
- return (
-
-
-
- );
- }
-}
-
-export default App;
diff --git a/src/App.jsx b/src/App.jsx
new file mode 100644
index 0000000..06b4531
--- /dev/null
+++ b/src/App.jsx
@@ -0,0 +1,20 @@
+import React, { Component } from 'react';
+import { BrowserRouter as Router, Route } from "react-router-dom";
+
+import Home from './views/Home.jsx';
+import Profile from './views/Profile.jsx';
+
+class App extends Component {
+ render() {
+ return (
+
+
+
+
+
+
+ );
+ }
+}
+
+export default App;
diff --git a/src/index.js b/src/index.js
index 8fec994..801e877 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,8 +1,11 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import './index.scss';
-import App from './App';
import * as serviceWorker from './serviceWorker';
+import App from './App';
+
+import 'normalize.css';
+import './index.scss';
+
ReactDOM.render(, document.getElementById('root'));
diff --git a/src/index.scss b/src/index.scss
index cee5f34..df48d66 100644
--- a/src/index.scss
+++ b/src/index.scss
@@ -7,8 +7,3 @@ body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
-
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
- monospace;
-}
diff --git a/src/views/Home.jsx b/src/views/Home.jsx
new file mode 100644
index 0000000..b280524
--- /dev/null
+++ b/src/views/Home.jsx
@@ -0,0 +1,9 @@
+import React from 'react';
+
+const Home = () => {
+ return (
+ Home
+ );
+}
+
+export default Home;
\ No newline at end of file
diff --git a/src/views/Profile.jsx b/src/views/Profile.jsx
new file mode 100644
index 0000000..fd17e4e
--- /dev/null
+++ b/src/views/Profile.jsx
@@ -0,0 +1,9 @@
+import React from 'react';
+
+const Profile = () => {
+ return (
+ Profile
+ );
+}
+
+export default Profile;
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index dbe38bf..6490faf 100755
--- a/yarn.lock
+++ b/yarn.lock
@@ -3830,6 +3830,16 @@ hex-color-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
+history@^4.7.2:
+ version "4.7.2"
+ resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b"
+ dependencies:
+ invariant "^2.2.1"
+ loose-envify "^1.2.0"
+ resolve-pathname "^2.2.0"
+ value-equal "^0.4.0"
+ warning "^3.0.0"
+
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -3842,6 +3852,10 @@ hoek@4.x.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
+hoist-non-react-statics@^2.5.0:
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
+
hoist-non-react-statics@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b"
@@ -4151,7 +4165,7 @@ internal-ip@^3.0.1:
default-gateway "^2.6.0"
ipaddr.js "^1.5.2"
-invariant@^2.2.2, invariant@^2.2.4:
+invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
dependencies:
@@ -5184,7 +5198,7 @@ loglevel@^1.4.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
dependencies:
@@ -5715,6 +5729,10 @@ normalize-url@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
+normalize.css@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
+
npm-bundled@^1.0.1:
version "1.0.6"
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
@@ -6099,6 +6117,12 @@ path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+path-to-regexp@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ dependencies:
+ isarray "0.0.1"
+
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
@@ -6817,18 +6841,18 @@ prompts@^0.1.9:
kleur "^2.0.1"
sisteransi "^0.1.1"
-prop-types@^15.6.2:
- version "15.7.1"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.1.tgz#2fa61e0a699d428b40320127733ee2931f05d9d1"
+prop-types@^15.6.1, prop-types@^15.7.2:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
dependencies:
+ loose-envify "^1.4.0"
object-assign "^4.1.1"
react-is "^16.8.1"
-prop-types@^15.7.2:
- version "15.7.2"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
+prop-types@^15.6.2:
+ version "15.7.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.1.tgz#2fa61e0a699d428b40320127733ee2931f05d9d1"
dependencies:
- loose-envify "^1.4.0"
object-assign "^4.1.1"
react-is "^16.8.1"
@@ -7043,6 +7067,29 @@ react-redux@^6.0.1:
prop-types "^15.7.2"
react-is "^16.8.2"
+react-router-dom@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"
+ dependencies:
+ history "^4.7.2"
+ invariant "^2.2.4"
+ loose-envify "^1.3.1"
+ prop-types "^15.6.1"
+ react-router "^4.3.1"
+ warning "^4.0.1"
+
+react-router@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e"
+ dependencies:
+ history "^4.7.2"
+ hoist-non-react-statics "^2.5.0"
+ invariant "^2.2.4"
+ loose-envify "^1.3.1"
+ path-to-regexp "^1.7.0"
+ prop-types "^15.6.1"
+ warning "^4.0.1"
+
react-scripts@2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-2.1.8.tgz#21195bb928b2c0462aa98b2d32edf7d034cff2a9"
@@ -7392,6 +7439,10 @@ resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+resolve-pathname@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -8520,6 +8571,10 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+value-equal@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
+
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -8569,6 +8624,18 @@ walker@~1.0.5:
dependencies:
makeerror "1.0.x"
+warning@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
+ dependencies:
+ loose-envify "^1.0.0"
+
+warning@^4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
+ dependencies:
+ loose-envify "^1.0.0"
+
watch@~0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"