From 88b0db37ccd0c5a23d2ddf6a4f7aed3cfcd9862d Mon Sep 17 00:00:00 2001 From: John Ogenyi Date: Tue, 16 Jul 2019 18:26:38 +0100 Subject: [PATCH 1/2] created the landing page --- src/styles/fonts.scss | 3 ++ src/styles/landing.scss | 83 +++++++++++++++++++++++++++++++++++++++++ src/styles/styles.scss | 8 +++- src/views/Home/Home.jsx | 46 ++++++++++++++++++++++- 4 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 src/styles/fonts.scss create mode 100644 src/styles/landing.scss diff --git a/src/styles/fonts.scss b/src/styles/fonts.scss new file mode 100644 index 0000000..19419d5 --- /dev/null +++ b/src/styles/fonts.scss @@ -0,0 +1,3 @@ +@import url('https://fonts.googleapis.com/css?family=Pacifico'); +@import url('https://fonts.googleapis.com/css?family=Kaushan+Script'); + diff --git a/src/styles/landing.scss b/src/styles/landing.scss new file mode 100644 index 0000000..4305064 --- /dev/null +++ b/src/styles/landing.scss @@ -0,0 +1,83 @@ +.nav { +width: 100%; + float: right; + padding: 0; + list-style: none; + padding: 0px 35px 0px 0px; + margin: 0px 30px 0px 0px; + +} +#skin { + font-family: Source Sans Pro; + padding: 0px 0px 0px 70px; + margin: 0px 0px 0px 20px; +} +.nav li { + float: right; + text-align:right; + padding: 0px 0px 0px 5px; + margin: 0px 0px 0px 5px; +} +.nav li a { + display: block; + padding: 0px 0px 0px 5px; + margin: 0px 0px 0px 5px; + text-decoration: none; + text-align: right; + float: right; +} +.style { + font-family: Kaushan Script; +} +.polygon { + position: absolute; + width: 390px; + height: 517px; + left: 860px; + top: 80px; + background: rgb(96, 118, 192); + border-radius: 20px; + transform: rotate(-90deg); +} + +.out { + padding: 50px; + font-style: normal; + font-weight: normal; + font-family: Kaushan Script; + font-size: 60px; + line-height: 116px; + color: #1A348D; +} + +.text { + position: absolute; + width: 624px; + height: 100px; + left: 57px; + top: 508px; + font-family: Pacifico; + font-style: normal; + font-weight: normal; + font-size: 38px; + line-height: 146.28%; + color: #1A348D; +} +.button { + position: absolute; + width: 242px; + height: 86px; + left: 823px; + top: 613px; + background: #1A348D; + border-radius: 30px; +} + +.practice { + color: red; +} +.mynav { + position: sticky; + top: 0; + background-color: #1A348D; +} \ No newline at end of file diff --git a/src/styles/styles.scss b/src/styles/styles.scss index bffbfeb..4bd1425 100644 --- a/src/styles/styles.scss +++ b/src/styles/styles.scss @@ -1,5 +1,11 @@ @import "variables.scss"; +@import "landing.scss"; +@import "fonts.scss"; p { color: $primaryColor -} \ No newline at end of file +} +h1 { + color: $primaryColor +} + diff --git a/src/views/Home/Home.jsx b/src/views/Home/Home.jsx index c6994f3..266493d 100644 --- a/src/views/Home/Home.jsx +++ b/src/views/Home/Home.jsx @@ -1,9 +1,53 @@ import React, { Component } from "react"; + class Home extends Component { + render() { - return

Home Page

; + return ( +
+ + + + + + +
+
+

E-Practice

+

Develop a passion of learning, if you do, you will never cease to go

+ +
+ + + ); + } } + + export default Home; From b3dcf4fcc1afd8ea37c80e9d5a617cdad89af0f6 Mon Sep 17 00:00:00 2001 From: John Ogenyi Date: Thu, 8 Aug 2019 22:37:29 +0100 Subject: [PATCH 2/2] created the signup page and made some changes to the login page --- .eslintignore | 1 + .eslintrc.js | 44 +++++++++ .gitignore | 4 + README.md | 69 ++++++++++++++ package.json | 50 ++++++++++ public/favicon.png | Bin 0 -> 34840 bytes public/index.html | 63 +++++++++++++ public/manifest.json | 15 +++ src/App.css | 33 +++++++ src/App.jsx | 32 +++++++ src/App.test.jsx | 9 ++ src/actions/auth.actions.js | 20 ++++ src/asset/icons/password.png | Bin 0 -> 2420 bytes src/asset/icons/username.png | Bin 0 -> 2253 bytes src/asset/imgs/cover.png | Bin 0 -> 11193 bytes src/asset/imgs/devc.png | Bin 0 -> 19100 bytes src/asset/imgs/devc1.png | Bin 0 -> 13174 bytes src/asset/imgs/devc2.png | Bin 0 -> 63049 bytes src/asset/imgs/devc3.png | Bin 0 -> 26038 bytes src/asset/imgs/transparent.png | Bin 0 -> 35991 bytes src/constants/index.js | 3 + src/container/Full.jsx | 46 +++++++++ src/container/PrivateRoute.jsx | 34 +++++++ src/index.jsx | 12 +++ src/logo.svg | 7 ++ src/reducers/auth.reducer.js | 27 ++++++ src/reducers/index.reducer.js | 6 ++ src/serviceWorker.js | 135 ++++++++++++++++++++++++++ src/store.js | 23 +++++ src/styles/Login.scss | 136 +++++++++++++++++++++++++++ src/styles/_fonts.scss | 1 + src/styles/signup.scss | 135 ++++++++++++++++++++++++++ src/styles/styles.scss | 16 ++++ src/styles/variables.scss | 1 + src/views/Home/Home.jsx | 9 ++ src/views/Home/HomeContainer.jsx | 11 +++ src/views/Login/Login.jsx | 107 +++++++++++++++++++++ src/views/Login/LoginContainer.jsx | 11 +++ src/views/Signup/Signup.jsx | 101 ++++++++++++++++++++ src/views/Signup/SignupContainer.jsx | 11 +++ 40 files changed, 1172 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 README.md create mode 100644 package.json create mode 100644 public/favicon.png create mode 100644 public/index.html create mode 100644 public/manifest.json create mode 100644 src/App.css create mode 100644 src/App.jsx create mode 100644 src/App.test.jsx create mode 100644 src/actions/auth.actions.js create mode 100644 src/asset/icons/password.png create mode 100644 src/asset/icons/username.png create mode 100644 src/asset/imgs/cover.png create mode 100644 src/asset/imgs/devc.png create mode 100644 src/asset/imgs/devc1.png create mode 100644 src/asset/imgs/devc2.png create mode 100644 src/asset/imgs/devc3.png create mode 100644 src/asset/imgs/transparent.png create mode 100644 src/constants/index.js create mode 100644 src/container/Full.jsx create mode 100644 src/container/PrivateRoute.jsx create mode 100644 src/index.jsx create mode 100644 src/logo.svg create mode 100644 src/reducers/auth.reducer.js create mode 100644 src/reducers/index.reducer.js create mode 100644 src/serviceWorker.js create mode 100644 src/store.js create mode 100644 src/styles/Login.scss create mode 100644 src/styles/_fonts.scss create mode 100644 src/styles/signup.scss create mode 100644 src/styles/styles.scss create mode 100644 src/styles/variables.scss create mode 100644 src/views/Home/Home.jsx create mode 100644 src/views/Home/HomeContainer.jsx create mode 100644 src/views/Login/Login.jsx create mode 100644 src/views/Login/LoginContainer.jsx create mode 100644 src/views/Signup/Signup.jsx create mode 100644 src/views/Signup/SignupContainer.jsx diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..1b38c48 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +src/serviceWorker.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..cf0545a --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,44 @@ +module.exports = { + extends: "airbnb", + parser: "babel-eslint", + plugins: ["react", "jsx-a11y", "import", "babel", "jest"], + rules: { + "max-len": [ + "error", + { code: 150, ignoreTrailingComments: true, ignoreComments: true } + ], + "no-underscore-dangle": 0, + "no-plusplus": 0, + "no-nested-ternary": 0, + "no-console": 0, + "prefer-promise-reject-errors": 0, + "no-useless-escape": 0, + "react/sort-comp": 0, + "react/no-access-state-in-setstate": 0, + "react/destructuring-assignment": 0, + "react/no-did-update-set-state": 0, + "jsx-a11y/anchor-is-valid": [ + "error", + { + components: ["Link"], + specialLink: ["to", "hrefLeft", "hrefRight"], + aspects: ["noHref", "invalidHref", "preferButton"] + } + ], + "jsx-a11y/click-events-have-key-events": 0, + "jest/no-disabled-tests": "warn", + "jest/no-focused-tests": "error", + "jest/no-identical-title": "error", + "jest/prefer-to-have-length": "warn", + "jest/valid-expect": "error", + "import/prefer-default-export": 0, + "import/no-named-as-default": 0, + "import/no-extraneous-dependencies": [ + "error", + { + devDependencies: ["**/*.test.jsx", "**/*.test.js", "webpack.config.js"] + } + ] + }, + env: { browser: true, node: true, "jest/globals": true } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..294dfe5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules +package-lock.json +yarn.lock +build/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..36c7803 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +**PROJECT INFO** + +- **Project Name:** + +- **key:** Lines in italics are a maybe (secondary) feature + +- **Project Type:** Open-Source is the new Sauce + +- **Estimated Duration:** 4 MONTHS + +- **Project Overview:** This project is an online CBT Practice for Students of Secondary School which is built be built on [ALOC EXAM ENDPOINTS](https://github.com/Seunope/aloc-endpoints) API which is an API for 5,000 past questions api end-points for POST-UTME, UTME, WASSCE, NECO questions. + +- **Project Aim:** To provide a free online CBT practice centre for Prospective Secondary School Leavers which uses minimal data. + +- **Deployment:** PWA => Web + + +**PROJECT EDGE-CASES:** + +1. No Adverts +2. Providing offline usability to already downloaded questions +3. Seamless navigation between questions to avoid network errors while changing questions + +**TECHNOLOGIES:** + +* React, + +* Redux => State management, + +> * *Test => Mocha* + +> * *Express-Node => Server to save user points and create a leaderboard* + + + +**FRAMEWORKS:** + +> * *Bootstrap* + +**DEPLOYMENT PLATFORMS:** + +* Dev: Heroku + +* Production: + +**RUNNING THE PROJECT:** + +* Clone or Fork the project +* Run `yarn` or `npm install` +* For dev mode, run `yarn run dev` or `npm run dev` +* For production mode, first build the project by running `yarn run build` or `npm run build` then start the app by running `yarn start` or `npm start` + +**CONTRIBUTING RULES:** + +Upstream Branch: dev + +Adding a new feature/screen: + +1. Fork the project to your github profile and create a branch from dev with the feature/screen name you want to add +2. Write test for every feature/screen. It'll only be accepted if your score is above 80 +3. Create a PR to dev branch, would be reviewed by all other devs, comments would be made. Make [Balanced](https://github.com/Balanced02), [Amaz](https://github.com/devamaz) and [Samuel](https://github.com/samie820) as reviewers and only when the three of them accepts the PR before you merge to the dev branch. +4. Update the Collaborators list in the README.md file + +Merging to master branch would be done only by either Balanced or Amaz + +Master branch would be hosted on dev server. + +**COLLABORATORS** +- [Balanced](https://github.com/Balanced02) Adepoju Daniel \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..7b556cb --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "e-practice", + "version": "0.1.0", + "private": true, + "dependencies": { + "history": "^4.9.0", + "node-sass": "^4.12.0", + "react": "^16.8.6", + "react-dom": "16.8.1", + "react-redux": "^7.1.0", + "react-router-dom": "5.0.1", + "react-scripts": "3.0.1", + "redux": "^4.0.1", + "redux-persist": "^5.10.0", + "redux-thunk": "^2.3.0", + "serve": "^11.0.2" + }, + "scripts": { + "start": "serve -s build", + "dev": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject", + "lint": "eslint ." + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "eslint": "^5.16.0", + "eslint-config-airbnb": "^17.1.1", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-import": "^2.18.0", + "eslint-plugin-jest": "^22.7.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.14.2" + } +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..755076d10f1e3c4efe0e7a8b070e6c14e152175c GIT binary patch literal 34840 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 + + + + + + + + + + + + e-Practice + + + +
+ + + + + + + + + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..1f2f141 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..b41d297 --- /dev/null +++ b/src/App.css @@ -0,0 +1,33 @@ +.App { + text-align: center; +} + +.App-logo { + animation: App-logo-spin infinite 20s linear; + height: 40vmin; + pointer-events: none; +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..83a2df0 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,32 @@ +import React, { Component } from "react"; +import { Router } from "react-router-dom"; +import { createBrowserHistory } from "history"; + +import { PersistGate } from "redux-persist/integration/react"; + +// import redux +import { Provider } from "react-redux"; +import configureStore from "./store"; + +import Full from "./container/Full"; + +export const history = createBrowserHistory(); +const { store, persistor } = configureStore(); + +class App extends Component { + render() { + return ( + + +
+ + + +
+
+
+ ); + } +} + +export default App; diff --git a/src/App.test.jsx b/src/App.test.jsx new file mode 100644 index 0000000..a754b20 --- /dev/null +++ b/src/App.test.jsx @@ -0,0 +1,9 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import App from './App'; + +it('renders without crashing', () => { + const div = document.createElement('div'); + ReactDOM.render(, div); + ReactDOM.unmountComponentAtNode(div); +}); diff --git a/src/actions/auth.actions.js b/src/actions/auth.actions.js new file mode 100644 index 0000000..c68cc44 --- /dev/null +++ b/src/actions/auth.actions.js @@ -0,0 +1,20 @@ +import { LOGIN, LOGOUT } from '../constants'; +import { history } from '../App'; + +export const sendLoginRequest = (data, redirectLocation = '/') => async (dispatch) => { + dispatch({ + type: LOGIN, + payload: { + user: data, + token: data.token, + }, + }); + history.push(redirectLocation); +}; + +export const sendLogoutRequest = () => (dispatch) => { + dispatch({ + type: LOGOUT, + }); + history.push('/login'); +}; diff --git a/src/asset/icons/password.png b/src/asset/icons/password.png new file mode 100644 index 0000000000000000000000000000000000000000..feea61fe42026d7d29ff1b4fbea0e0d773defe65 GIT binary patch literal 2420 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 bcJKZVKo{HhWU33400000NkvXXu0mjf{2DNs literal 0 HcmV?d00001 diff --git a/src/asset/imgs/cover.png b/src/asset/imgs/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..e7424b0ee7dec2cbecbddb7455ca0cf6f494a263 GIT binary patch literal 11193 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 literal 0 HcmV?d00001 diff --git a/src/asset/imgs/devc.png b/src/asset/imgs/devc.png new file mode 100644 index 0000000000000000000000000000000000000000..05cb66b601a639ab9dbfc834b1bf9f52c7868076 GIT binary patch literal 19100 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 NjJ{EHxO64Y|Jg=8JQ4r^ literal 0 HcmV?d00001 diff --git a/src/asset/imgs/devc1.png b/src/asset/imgs/devc1.png new file mode 100644 index 0000000000000000000000000000000000000000..90dff3f80532c594cd51be079f91fc25ac81fac3 GIT binary patch literal 13174 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 literal 0 HcmV?d00001 diff --git a/src/asset/imgs/devc3.png b/src/asset/imgs/devc3.png new file mode 100644 index 0000000000000000000000000000000000000000..15ebd1855879f549bf6c9610a462e8fa22866320 GIT binary patch literal 26038 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 literal 0 HcmV?d00001 diff --git a/src/constants/index.js b/src/constants/index.js new file mode 100644 index 0000000..e8c1866 --- /dev/null +++ b/src/constants/index.js @@ -0,0 +1,3 @@ +// Authentication +export const LOGIN = 'LOGIN'; +export const LOGOUT = 'LOGOUT'; diff --git a/src/container/Full.jsx b/src/container/Full.jsx new file mode 100644 index 0000000..77ce78a --- /dev/null +++ b/src/container/Full.jsx @@ -0,0 +1,46 @@ +import React, { Component } from 'react'; +import { + Route, Switch, Redirect +} from 'react-router-dom'; + +import { bool } from 'prop-types' + +// Home and Auth Pages +import Home from '../views/Home/HomeContainer' +import Login from '../views/Login/LoginContainer' +import Signup from '../views/Signup/SignupContainer' +// Private route +import { connect } from 'react-redux'; +import PrivateRoute from './PrivateRoute'; + +// import redux + +const privateRoute = () =>
+ Private Route +
+ +class Full extends Component { + render() { + const { auth } = this.props; + return ( + + + + + + + + ); + } +} + +Full.propTypes = { + auth: bool.isRequired +} + +const mapStateToProps = state => { + return { + auth: state.auth.authenticated, +}} + +export default connect(mapStateToProps)(Full); diff --git a/src/container/PrivateRoute.jsx b/src/container/PrivateRoute.jsx new file mode 100644 index 0000000..91ee33d --- /dev/null +++ b/src/container/PrivateRoute.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { Route, Redirect } from 'react-router-dom'; +import { bool, object, } from 'prop-types' + +const PrivateRoute = ({ component: Component, authState, ...rest }) => ( + (authState === true ? ( + + ) : ( + + )) + } + /> +); + +PrivateRoute.defaultProps = { + location: {} +} + +PrivateRoute.propTypes = { + authState: bool.isRequired, + // component: object.isRequired, + location: object, +} + +export default PrivateRoute; diff --git a/src/index.jsx b/src/index.jsx new file mode 100644 index 0000000..66cedff --- /dev/null +++ b/src/index.jsx @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './styles/styles.scss'; +import App from './App'; +import * as serviceWorker from './serviceWorker'; + +ReactDOM.render(, document.getElementById('root')); + +// If you want your app to work offline and load faster, you can change +// unregister() to register() below. Note this comes with some pitfalls. +// Learn more about service workers: https://bit.ly/CRA-PWA +serviceWorker.unregister(); diff --git a/src/logo.svg b/src/logo.svg new file mode 100644 index 0000000..6b60c10 --- /dev/null +++ b/src/logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/reducers/auth.reducer.js b/src/reducers/auth.reducer.js new file mode 100644 index 0000000..7bbc5fb --- /dev/null +++ b/src/reducers/auth.reducer.js @@ -0,0 +1,27 @@ +import { LOGIN, LOGOUT } from '../constants'; + +const initialState = { + user: {}, + authenticated: false, + token: null, +}; + +export default (state = initialState, action) => { + switch (action.type) { + case LOGIN: + return { + ...state, + user: action.payload.user, + authenticated: true, + token: action.payload.token, + }; + case LOGOUT: + return { + user: {}, + authenticated: false, + token: null, + }; + default: + return state; + } +}; diff --git a/src/reducers/index.reducer.js b/src/reducers/index.reducer.js new file mode 100644 index 0000000..047a214 --- /dev/null +++ b/src/reducers/index.reducer.js @@ -0,0 +1,6 @@ +import { combineReducers } from 'redux'; +import authReducer from './auth.reducer'; + +export default combineReducers({ + auth: authReducer, +}); diff --git a/src/serviceWorker.js b/src/serviceWorker.js new file mode 100644 index 0000000..f8c7e50 --- /dev/null +++ b/src/serviceWorker.js @@ -0,0 +1,135 @@ +// This optional code is used to register a service worker. +// register() is not called by default. + +// This lets the app load faster on subsequent visits in production, and gives +// it offline capabilities. However, it also means that developers (and users) +// will only see deployed updates on subsequent visits to a page, after all the +// existing tabs open on the page have been closed, since previously cached +// resources are updated in the background. + +// To learn more about the benefits of this model and instructions on how to +// opt-in, read https://bit.ly/CRA-PWA + +const isLocalhost = Boolean( + window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. + window.location.hostname === '[::1]' || + // 127.0.0.1/8 is considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) +); + +export function register(config) { + if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } + + window.addEventListener('load', () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); + + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + 'This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://bit.ly/CRA-PWA' + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } + }); + } +} + +function registerValidSW(swUrl, config) { + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + 'New content is available and will be used when all ' + + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + ); + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }) + .catch(error => { + console.error('Error during service worker registration:', error); + }); +} + +function checkValidServiceWorker(swUrl, config) { + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get('content-type'); + if ( + response.status === 404 || + (contentType != null && contentType.indexOf('javascript') === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + 'No internet connection found. App is running in offline mode.' + ); + }); +} + +export function unregister() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready.then(registration => { + registration.unregister(); + }); + } +} diff --git a/src/store.js b/src/store.js new file mode 100644 index 0000000..050f38c --- /dev/null +++ b/src/store.js @@ -0,0 +1,23 @@ +import { createStore, applyMiddleware } from 'redux'; +import thunk from 'redux-thunk'; + +import { persistStore, persistReducer } from 'redux-persist'; +import storage from 'redux-persist/lib/storage'; +import rootReducer from './reducers/index.reducer'; + +const persistConfig = { + key: 'e-practice-facebook-dev-c', + storage, +}; + +const persistedReducer = persistReducer(persistConfig, rootReducer); + +export default function configureStore(initialState = {}) { + const store = createStore( + persistedReducer, + initialState, + applyMiddleware(thunk), + ); + const persistor = persistStore(store); + return { store, persistor }; +} diff --git a/src/styles/Login.scss b/src/styles/Login.scss new file mode 100644 index 0000000..aef5408 --- /dev/null +++ b/src/styles/Login.scss @@ -0,0 +1,136 @@ +.login { + margin: 0; + display: flex; + min-height: 100vh; + justify-content: center; + align-items: center; + background: #E5E5E5; + font-family: "Poppins", sans-serif, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; + .carousel { + background-color: white; + background-size: cover; + width: 300px; + height: 300px; + align-content: center; + padding: 40px; + border-radius: 50%; + left: 90px; + z-index: 5; + } + + .carousel div img { + width: 250px; + height: 220px; + border-radius: 50%; + + } + .carousel-indicators li { + width: 10px; + height: 10px; + border-radius: 100%; + } + .carousel-indicators { + bottom: -80px; + } + .box { + padding: 50px; + background: #ffffff; + box-shadow: 0px 116.543px 327.368px rgba(0, 0, 0, 0.25); + border-radius: 20px; + min-width: 80%; + } + + .column1 { + width: 100%; + background-color: transparent; + height: 100%; + position: absolute; + top: 0; + left: 0; + background-image: url("../asset/imgs/transparent.png"); + background-position: center; + background-repeat: no-repeat; + background-size: cover; + // z-index: 3; + } + + .column2 { + flex: 1; + } + + h1 { + font-weight: 600; + font-size: 30px; + text-align: center; + } + + .login-form { + text-align: center; + .icon { + margin: 20px; + } + .input-group { + display: flex; + width: 100%; + height: 60px; + background: #e8f0fe; + opacity: 0.99; + border: 2px solid rgb(91, 116, 227); + box-sizing: border-box; + box-shadow: 0px 13.524px 27.048px rgba(0, 0, 0, 0.15); + border-radius: 56.3917px; + margin: 10px 0px 10px 0px; + align-content: center; + padding: 20px; + .input { + flex: 1; + padding-left: 10px; + border: none; + background-color: transparent !important; + } + input:focus, + textarea:focus, + select:focus { + outline: none; + background-color: transparent !important; + } + img { + height: 30px; + } + } + } + + .button { + width: 100%; + background-color: rgba(83, 66, 235, 0.97); + color: white; + opacity: 0.99; + backdrop-filter: blur(210.981px); + border: 3.381px solid rgb(66, 88, 211); + box-sizing: border-box; + border-radius: 56.3917px; + margin: 10px 0px 10px 0px; + align-content: center; + + padding: 20px; + } + + .pass { + color: black; + } + + .regain { + color: rgb(65, 44, 255); + } + + .p1 { + float: inline-end; + color: black; + } + + .p2 { + float: inline-end; + color: black; + } + } + \ No newline at end of file diff --git a/src/styles/_fonts.scss b/src/styles/_fonts.scss new file mode 100644 index 0000000..69f2842 --- /dev/null +++ b/src/styles/_fonts.scss @@ -0,0 +1 @@ +@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700|Poppins:400,600,700,800&display=swap'); \ No newline at end of file diff --git a/src/styles/signup.scss b/src/styles/signup.scss new file mode 100644 index 0000000..b38f6d7 --- /dev/null +++ b/src/styles/signup.scss @@ -0,0 +1,135 @@ +.signup { + margin: 0; + display: flex; + min-height: 100vh; + justify-content: center; + align-items: center; + background: #E5E5E5; + font-family: "Poppins", sans-serif, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; + .carousel { + background-color: white; + background-size: cover; + width: 300px; + height: 300px; + align-content: center; + padding: 40px; + border-radius: 50%; + left: 90px; + z-index: 5; + } + + .carousel div img { + width: 250px; + height: 220px; + border-radius: 50%; + + } + .carousel-indicators li { + width: 10px; + height: 10px; + border-radius: 100%; + } + .carousel-indicators { + bottom: -80px; + } + .box { + padding: 50px; + background: #ffffff; + box-shadow: 0px 116.543px 327.368px rgba(0, 0, 0, 0.25); + border-radius: 20px; + min-width: 80%; + } + + .column1 { + width: 100%; + background-color: transparent; + height: 100%; + position: absolute; + top: 0; + left: 0; + background-image: url("../asset/imgs/transparent.png"); + background-position: center; + background-repeat: no-repeat; + background-size: cover; + // z-index: 3; + } + + .column2 { + flex: 1; + } + + h1 { + font-weight: 600; + font-size: 30px; + text-align: center; + } + + .signup-form { + text-align: center; + .icon { + margin: 20px; + } + .input-group { + display: flex; + width: 100%; + height: 60px; + background: #e8f0fe; + opacity: 0.99; + border: 2px solid rgb(91, 116, 227); + box-sizing: border-box; + box-shadow: 0px 13.524px 27.048px rgba(0, 0, 0, 0.15); + border-radius: 56.3917px; + margin: 10px 0px 10px 0px; + align-content: center; + padding: 20px; + .input { + flex: 1; + padding-left: 10px; + border: none; + background-color: transparent !important; + } + input:focus, + textarea:focus, + select:focus { + outline: none; + background-color: transparent !important; + } + img { + height: 30px; + } + } + } + + .button { + width: 100%; + background-color: rgba(83, 66, 235, 0.97); + color: white; + opacity: 0.99; + backdrop-filter: blur(210.981px); + border: 3.381px solid rgb(66, 88, 211); + box-sizing: border-box; + border-radius: 56.3917px; + margin: 10px 0px 10px 0px; + align-content: center; + + padding: 20px; + } + + .pass { + color: black; + } + + .regain { + color: rgb(65, 44, 255); + } + + .p1 { + float: inline-end; + color: black; + } + + .p2 { + float: inline-end; + color: black; + } + } \ No newline at end of file diff --git a/src/styles/styles.scss b/src/styles/styles.scss new file mode 100644 index 0000000..581edf2 --- /dev/null +++ b/src/styles/styles.scss @@ -0,0 +1,16 @@ +@import "variables.scss"; +@import "Login.scss"; +@import "signup.scss"; + +p { + color: $primaryColor +} + +body { + font-family: 'Montserrat', sans-serif, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif + } + + h1, h2, h3, h4, h5, h6 { + font-family: "Poppins", sans-serif, 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; + font-weight: bold + } \ No newline at end of file diff --git a/src/styles/variables.scss b/src/styles/variables.scss new file mode 100644 index 0000000..18e5b4a --- /dev/null +++ b/src/styles/variables.scss @@ -0,0 +1 @@ +$primaryColor: rgb(113, 127, 224); \ No newline at end of file diff --git a/src/views/Home/Home.jsx b/src/views/Home/Home.jsx new file mode 100644 index 0000000..c6994f3 --- /dev/null +++ b/src/views/Home/Home.jsx @@ -0,0 +1,9 @@ +import React, { Component } from "react"; + +class Home extends Component { + render() { + return

Home Page

; + } +} + +export default Home; diff --git a/src/views/Home/HomeContainer.jsx b/src/views/Home/HomeContainer.jsx new file mode 100644 index 0000000..5e2cb05 --- /dev/null +++ b/src/views/Home/HomeContainer.jsx @@ -0,0 +1,11 @@ +import React, { Component } from 'react' + +import Home from './Home' + +class HomeContainer extends Component { + render(){ + return + } +} + +export default HomeContainer \ No newline at end of file diff --git a/src/views/Login/Login.jsx b/src/views/Login/Login.jsx new file mode 100644 index 0000000..ea31394 --- /dev/null +++ b/src/views/Login/Login.jsx @@ -0,0 +1,107 @@ +import React, { Component } from 'react'; +import DevC from '../../asset/imgs/devc.png'; +import DevC1 from '../../asset/imgs/devc1.png'; +import DevC2 from '../../asset/imgs/devc2.png'; +import DevC3 from '../../asset/imgs/devc3.png'; +import UserNameIcon from '../../asset/icons/username.png'; +import PasswordIcon from '../../asset/icons/password.png'; + + +class Login extends Component { + render() { + return ( +
+
+
+
+ First slide +
+
+ Second slide +
+
+ Third slide +
+
+ Forth slide +
+
+ Fifth slide +
+
+ Sixth slide +
+
+ + + Previous + + + + Next + +
    +
  1. +
  2. +
  3. +
  4. +
  5. +
  6. +
+
+
+
+
+
+
+
+
+
+

Sign In

+
+ facebook_signin + google_signin +
+
+ ui + +
+
+
+ ui + +
+
+ +
+

+ Forgot your + {' '} + + password? + +

+

+ Don't have an account? + {' '} + + click here. + + {' '} +           + {' '} + Need help? +

+
+
+
+
+
+
+ ); + } +} + +export default Login; diff --git a/src/views/Login/LoginContainer.jsx b/src/views/Login/LoginContainer.jsx new file mode 100644 index 0000000..eb563a9 --- /dev/null +++ b/src/views/Login/LoginContainer.jsx @@ -0,0 +1,11 @@ +import React, { Component } from 'react' + +import Login from './Login' + +class LoginContainer extends Component { + render(){ + return + } +} + +export default LoginContainer \ No newline at end of file diff --git a/src/views/Signup/Signup.jsx b/src/views/Signup/Signup.jsx new file mode 100644 index 0000000..f5c1dce --- /dev/null +++ b/src/views/Signup/Signup.jsx @@ -0,0 +1,101 @@ +import React, { Component } from 'react'; +import DevC from '../../asset/imgs/devc.png'; +import DevC1 from '../../asset/imgs/devc1.png'; +import DevC2 from '../../asset/imgs/devc2.png'; +import DevC3 from '../../asset/imgs/devc3.png'; +import UserNameIcon from '../../asset/icons/username.png'; +import PasswordIcon from '../../asset/icons/password.png'; + + +class Signup extends Component { + render() { + return ( +
+
+
+
+ First slide +
+
+ Second slide +
+
+ Third slide +
+
+ Forth slide +
+
+ Fifth slide +
+
+ Sixth slide +
+
+ + + Previous + + + + Next + +
    +
  1. +
  2. +
  3. +
  4. +
  5. +
  6. +
+
+
+
+
+
+
+
+
+
+

Sign Up

+
+ facebook_signup + google_signup +
+
+ ui + +
+
+
+ ui + +
+
+ +
+ +

+ Already have an account? + {' '} + + click here. + + {' '} +           + {' '} + Need help? +

+
+
+
+
+
+
+ ); + } +} + +export default Signup; \ No newline at end of file diff --git a/src/views/Signup/SignupContainer.jsx b/src/views/Signup/SignupContainer.jsx new file mode 100644 index 0000000..bc24161 --- /dev/null +++ b/src/views/Signup/SignupContainer.jsx @@ -0,0 +1,11 @@ +import React, { Component } from 'react' + +import Signup from './Signup' + +class SignupContainer extends Component { + render(){ + return + } +} + +export default SignupContainer \ No newline at end of file