From 3f194e4ef360342d4646c3356dcccc665ed1e618 Mon Sep 17 00:00:00 2001 From: Shreya Prasad Date: Wed, 23 Dec 2020 13:59:26 +0530 Subject: [PATCH] Nikhil (#23) * addseat changed * commit * added homepage, changes in profile * added logout btn * changed navbars, added logout and cards * updated homepage * updated dashboard * added eureka * bug fixes * Fixed bugs * Removed book seats * Even better UI now Co-authored-by: Betke Co-authored-by: kavink98 --- FrontPart/package-lock.json | 41 ++- FrontPart/package.json | 1 + FrontPart/src/App.js | 52 +-- FrontPart/src/a.css | 50 +++ FrontPart/src/component/AddSeat.js | 134 +++++--- FrontPart/src/component/AddSeatUri.js | 51 --- FrontPart/src/component/AdminUri.js | 53 --- FrontPart/src/component/AuthHeader.js | 6 +- FrontPart/src/component/Bookings.js | 36 +- FrontPart/src/component/BookingsUri.js | 52 --- FrontPart/src/component/DeleteSeat.js | 81 +++-- FrontPart/src/component/DeleteSeatUri.js | 52 --- FrontPart/src/component/Home.js | 74 +++++ FrontPart/src/component/LoginPage.js | 71 +++- .../component/{Admin.js => ManageBookings.js} | 18 +- FrontPart/src/component/SearchSeat.js | 43 ++- FrontPart/src/component/SearchSeatUri.js | 52 --- FrontPart/src/component/SwapSeatRequestUri.js | 52 --- FrontPart/src/component/UpdateProfile.js | 162 +++++---- FrontPart/src/component/UpdateProfileUri.js | 52 --- FrontPart/src/component/UserDashboard.js | 94 ++++-- FrontPart/src/component/UserSeatBooking.js | 197 +++++++++-- FrontPart/src/component/UserSeatBookingUri.js | 53 --- FrontPart/src/component/ViewProfile.js | 119 +++++-- FrontPart/src/component/signUp.js | 55 +++- FrontPart/src/images/bg2.webp | Bin 0 -> 26838 bytes FrontPart/src/images/bg3.jpg | Bin 0 -> 311378 bytes FrontPart/src/images/bg3c.jpg | Bin 0 -> 239240 bytes FrontPart/src/images/bg4.jpg | Bin 0 -> 275556 bytes FrontPart/src/images/bg5.jpg | Bin 0 -> 610538 bytes FrontPart/src/images/bg6.png | Bin 0 -> 554257 bytes FrontPart/src/images/bg7.png | Bin 0 -> 523545 bytes FrontPart/src/images/bg8.png | Bin 0 -> 397349 bytes FrontPart/src/viewprof.html | 64 ---- eureka-naming-server/.gitignore | 33 ++ .../.mvn/wrapper/MavenWrapperDownloader.java | 117 +++++++ .../.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .../.mvn/wrapper/maven-wrapper.properties | 2 + eureka-naming-server/mvnw | 310 ++++++++++++++++++ eureka-naming-server/mvnw.cmd | 182 ++++++++++ eureka-naming-server/pom.xml | 72 ++++ .../EurekaNamingServerApplication.java | 15 + .../src/main/resources/application.properties | 5 + .../EurekaNamingServerApplicationTests.java | 13 + user-ms/bin/pom.xml | 20 ++ 45 files changed, 1708 insertions(+), 776 deletions(-) delete mode 100644 FrontPart/src/component/AddSeatUri.js delete mode 100644 FrontPart/src/component/AdminUri.js delete mode 100644 FrontPart/src/component/BookingsUri.js delete mode 100644 FrontPart/src/component/DeleteSeatUri.js create mode 100644 FrontPart/src/component/Home.js rename FrontPart/src/component/{Admin.js => ManageBookings.js} (93%) delete mode 100644 FrontPart/src/component/SearchSeatUri.js delete mode 100644 FrontPart/src/component/SwapSeatRequestUri.js delete mode 100644 FrontPart/src/component/UpdateProfileUri.js delete mode 100644 FrontPart/src/component/UserSeatBookingUri.js create mode 100644 FrontPart/src/images/bg2.webp create mode 100644 FrontPart/src/images/bg3.jpg create mode 100644 FrontPart/src/images/bg3c.jpg create mode 100644 FrontPart/src/images/bg4.jpg create mode 100644 FrontPart/src/images/bg5.jpg create mode 100644 FrontPart/src/images/bg6.png create mode 100644 FrontPart/src/images/bg7.png create mode 100644 FrontPart/src/images/bg8.png delete mode 100644 FrontPart/src/viewprof.html create mode 100644 eureka-naming-server/.gitignore create mode 100644 eureka-naming-server/.mvn/wrapper/MavenWrapperDownloader.java create mode 100644 eureka-naming-server/.mvn/wrapper/maven-wrapper.jar create mode 100644 eureka-naming-server/.mvn/wrapper/maven-wrapper.properties create mode 100644 eureka-naming-server/mvnw create mode 100644 eureka-naming-server/mvnw.cmd create mode 100644 eureka-naming-server/pom.xml create mode 100644 eureka-naming-server/src/main/java/com/manipal/EurekaNamingServerApplication.java create mode 100644 eureka-naming-server/src/main/resources/application.properties create mode 100644 eureka-naming-server/src/test/java/com/manipal/EurekaNamingServerApplicationTests.java diff --git a/FrontPart/package-lock.json b/FrontPart/package-lock.json index 8ca3348..41c0cbc 100644 --- a/FrontPart/package-lock.json +++ b/FrontPart/package-lock.json @@ -6235,16 +6235,11 @@ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz", + "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==", "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" + "@babel/runtime": "^7.7.6" } }, "hmac-drbg": { @@ -10757,6 +10752,19 @@ "tiny-warning": "^1.0.0" }, "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -10784,6 +10792,21 @@ "react-router": "5.2.0", "tiny-invariant": "^1.0.2", "tiny-warning": "^1.0.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + } } }, "react-scripts": { diff --git a/FrontPart/package.json b/FrontPart/package.json index a6a266b..a2f66d1 100644 --- a/FrontPart/package.json +++ b/FrontPart/package.json @@ -11,6 +11,7 @@ "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", "axios": "^0.20.0", + "history": "^5.0.0", "moment": "^2.29.0", "react": "16.13.1", "react-dom": "16.13.1", diff --git a/FrontPart/src/App.js b/FrontPart/src/App.js index 8fc3bfa..cf12f82 100644 --- a/FrontPart/src/App.js +++ b/FrontPart/src/App.js @@ -1,8 +1,10 @@ import React from 'react'; -import { BrowserRouter as Router, Route } from 'react-router-dom'; +import { BrowserRouter as Router, Redirect, Route } from 'react-router-dom'; import './styles.css'; +import ViewProfile from './component/ViewProfile' +import Home from './component/Home' import AddSeat from './component/AddSeat'; -import Admin from './component/Admin'; +import Admin from './component/ManageBookings'; import Bookings from './component/Bookings'; import DeleteSeat from './component/DeleteSeat'; import SearchSeat from './component/SearchSeat'; @@ -13,39 +15,43 @@ import AdminDashboard from './component/AdminDashboard'; import UserDashboard from './component/UserDashboard'; import LoginPage from './component/LoginPage'; import { ThemeProvider, createMuiTheme } from '@material-ui/core'; +import axios from 'axios' +import SignUp from './component/signUp'; export default function App() { + let flag = false; + axios.interceptors.response.use( + function (response) { + return response; + }, + function (error) { + if (error.response.status === 403 || 401) return Promise.reject(error); + } + ); + return (
+ + + + + + + + + + - - - - - - + + +
diff --git a/FrontPart/src/a.css b/FrontPart/src/a.css index 6911594..d2a5de7 100644 --- a/FrontPart/src/a.css +++ b/FrontPart/src/a.css @@ -8,4 +8,54 @@ .d-inline-flex{ padding: 20px; +} +a:hover{ +text-decoration: none; +} +.card{ + box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2); + transition: 0.3s; + padding: 30px; + width: 90%; + +} +#logo{ + background-color: ivory; + color:#404040; + box-shadow: 0 0 1px 1px black; +} +#logo:hover{ + background-color: #666666; + color:ivory; + box-shadow: 0 0 0px 0px white; +} +.display-5{ + /* color: honeydew; */ + color:rgb(82, 80, 80); + text-align: left; + margin-left: 20px; + margin-top: 5x; + + /* text-shadow: 0px 0px 7px rgb(93, 106, 119); */ +} +/* rgb(241, 243, 245) */ + +#lg{ + color:rgb(82, 80, 80); + margin:10px; + text-shadow: none; +} +header{ + box-shadow: 0px 3px 3px #27272780; + padding: 10px; +} +#a{ + color: rgb(82, 80, 80); +} +#b{ + background-color: #4d4d4d; + color:ivory; +} +#b:hover{ + background-color: #636262; } \ No newline at end of file diff --git a/FrontPart/src/component/AddSeat.js b/FrontPart/src/component/AddSeat.js index f3998cd..0c24f36 100644 --- a/FrontPart/src/component/AddSeat.js +++ b/FrontPart/src/component/AddSeat.js @@ -3,24 +3,57 @@ import {Link} from "react-router-dom"; import { red } from '@material-ui/core/colors'; import AuthHeader from "./AuthHeader"; import axios from "axios"; -import Button from '@material-ui/core/Button'; import CssBaseline from '@material-ui/core/CssBaseline'; import TextField from '@material-ui/core/TextField'; - -import Grid from '@material-ui/core/Grid'; import LockOutlinedIcon from '@material-ui/icons/LockOutlined'; import Typography from '@material-ui/core/Typography'; import Container from '@material-ui/core/Container'; +import { makeStyles } from '@material-ui/core/styles'; +import { + AppBar, + Toolbar, + Button, + Table, + TableBody, + TableHead, + TableRow, + TableCell, + Grid, +} from '@material-ui/core'; + +const useStyles = makeStyles((theme) => ({ + root: { + flexGrow: 1, + + }, + menuButton: { + marginRight: theme.spacing(2), + }, + title: { + flexGrow: 1, + textAlign: 'left', + padding: 10 + }, + table: { + width: 1000, + }, + menuBtn: { + textDecoration: 'none', + }, +})); + function AddSeat() { + const classes = useStyles(); const [seatNo, setSeatNo] = useState(); const [floor, setFloor] = useState(); const [office, setOffice] = useState(); const [bookingInfo, setBookingInto] = useState([{ "status" : "unbooked" }]); + const offices = ['Telstra', 'Home', 'Manipal']; const [password, setPassword] = useState() @@ -32,7 +65,7 @@ function AddSeat() { "seatNumber":seatNo, "floor":floor, "office":office, - "bookgingInfo":bookingInfo + "bookingInfo":[] } console.log(requestbody) axios.post("http://localhost:8082/admin/seat", requestbody, { headers: AuthHeader()}).then((res) => { @@ -70,27 +103,43 @@ function AddSeat() { setPassword(e.target.value) } + const handleOfficeChange = (event) => { + setOffice(event.target.value); + }; return (
- + + + + Add Seats + + + + + + - +

-
+
+

@@ -115,25 +164,20 @@ function AddSeat() {
*/} - - - - - {/*
- - -
*/} - + +

Office : +

+ - {/*
- - */} - {/*
*/} - - {/* */} - +
+ ); } diff --git a/FrontPart/src/component/AddSeatUri.js b/FrontPart/src/component/AddSeatUri.js deleted file mode 100644 index 52f3770..0000000 --- a/FrontPart/src/component/AddSeatUri.js +++ /dev/null @@ -1,51 +0,0 @@ -import React from "react"; -import {Component} from "react"; -import axios from "axios"; - -class AddSeatUri extends Component { - - constructor(props) { - super(props) - this.state = { - "seatNumber":"", - "floor":"", - "office":"" - } - } - - changeHandler = (e) => { - this.setState ({[e.target.name]: e.target.value}) - } - - submitHandler = (e) => { - e.preventDefault(); - console.log(this.state); - axios.post("http://localhost:8082/telephone/savetelephonedetails", this.state) - .then((response) => {console.log(response)}).catch((error) => {console.log(error)}) - } - - render(){ - const {telephoneNumber, mobileNumber, customerId} = this.state - return ( -
-
-
- -
- -
- -
- -
- -
- - -
-
- ) - } -} - -export default AddSeatUri; \ No newline at end of file diff --git a/FrontPart/src/component/AdminUri.js b/FrontPart/src/component/AdminUri.js deleted file mode 100644 index 02cd0a5..0000000 --- a/FrontPart/src/component/AdminUri.js +++ /dev/null @@ -1,53 +0,0 @@ -// const { Component } = require("react"); -import React from "react"; -import {Component} from "react"; -import axios from "axios"; - -class AdminUri extends Component { - - constructor(props) { - super(props) - this.state = { - telephoneNumber : "", - mobileNumber : "", - customerId : "" - } - } - - changeHandler = (e) => { - this.setState ({[e.target.name]: e.target.value}) - } - - submitHandler = (e) => { - e.preventDefault(); - console.log(this.state); - axios.post("http://localhost:8082/telephone/savetelephonedetails", this.state) - .then((response) => {console.log(response)}).catch((error) => {console.log(error)}) - } - - render(){ - const {telephoneNumber, mobileNumber, customerId} = this.state - return ( -
-
-
- -
- -
- -
- -
- -
- - -
-
- ) - } -} - -export default AdminUri; - diff --git a/FrontPart/src/component/AuthHeader.js b/FrontPart/src/component/AuthHeader.js index dba82e3..9995f88 100644 --- a/FrontPart/src/component/AuthHeader.js +++ b/FrontPart/src/component/AuthHeader.js @@ -2,5 +2,9 @@ import React from "react"; export default function AuthHeader() { - return { 'Authorization':"Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlzQWRtaW4iOnRydWUsImV4cCI6MTYwMTM1NzI0OSwiaWF0IjoxNjAxMzIxMjQ5fQ.mdXlOWyVU4v3EUTL6iWu70NwQcSph0dBYRvm9NoboXg"}; + return { + authorization: localStorage.getItem('Token'), + 'Content-type': 'application/json', + }; + // return { 'Authorization':"Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlzQWRtaW4iOnRydWUsImV4cCI6MTYwMTM1NzI0OSwiaWF0IjoxNjAxMzIxMjQ5fQ.mdXlOWyVU4v3EUTL6iWu70NwQcSph0dBYRvm9NoboXg"}; } \ No newline at end of file diff --git a/FrontPart/src/component/Bookings.js b/FrontPart/src/component/Bookings.js index 2302540..f875169 100644 --- a/FrontPart/src/component/Bookings.js +++ b/FrontPart/src/component/Bookings.js @@ -16,6 +16,7 @@ import { makeStyles } from '@material-ui/core/styles'; import axios from 'axios'; import moment from 'moment'; import { Link } from 'react-router-dom'; +import { useHistory as history } from 'react-router-dom'; const useStyles = makeStyles((theme) => ({ root: { @@ -26,6 +27,8 @@ const useStyles = makeStyles((theme) => ({ }, title: { flexGrow: 1, + textAlign: 'left', + padding: 10 }, table: { width: 1000, @@ -35,7 +38,7 @@ const useStyles = makeStyles((theme) => ({ }, })); -function Bookings() { +function Bookings(props) { const classes = useStyles(); const [seatInfo, setSeatInfo] = useState([]); @@ -46,18 +49,20 @@ function Bookings() { }; }; - useEffect(async () => { - const res = await axios.get('http://localhost:8082/user/profile', { + useEffect( () => { + axios.get('http://localhost:8082/user/profile', { headers: getHeaders(), - }); - res.data.seats.forEach((seat) => { - if (moment(seat.startDate).isBefore(moment())) seat.status = 'past'; - }); - setSeatInfo(res.data.seats); + }).then(res =>{ + res.data.seats.forEach((seat) => { + if (moment(seat.startDate).isBefore(moment())) seat.status = 'past'; + }); + setSeatInfo(res.data.seats) + }) }, []); const isDisabled = (status) => { - if (status === 'cancelled' || 'past') return true; + if (status === 'cancelled' || status === 'past') + return true; else return false; }; @@ -74,12 +79,14 @@ function Bookings() { }); }; + return (
- - - - Bookings + + + + + My Bookings - + +

diff --git a/FrontPart/src/component/BookingsUri.js b/FrontPart/src/component/BookingsUri.js deleted file mode 100644 index 9df5ff5..0000000 --- a/FrontPart/src/component/BookingsUri.js +++ /dev/null @@ -1,52 +0,0 @@ -// const { Component } = require("react"); -import React from "react"; -import {Component} from "react"; -import axios from "axios"; - -class AddSeatUri extends Component { - - constructor(props) { - super(props) - this.state = { - telephoneNumber : "", - mobileNumber : "", - customerId : "" - } - } - - changeHandler = (e) => { - this.setState ({[e.target.name]: e.target.value}) - } - - submitHandler = (e) => { - e.preventDefault(); - console.log(this.state); - axios.post("http://localhost:8082/telephone/savetelephonedetails", this.state) - .then((response) => {console.log(response)}).catch((error) => {console.log(error)}) - } - - render(){ - const {telephoneNumber, mobileNumber, customerId} = this.state - return ( -
-
-
- -
- -
- -
- -
- -
- - - -
- ) - } -} - -export default AddSeatUri; \ No newline at end of file diff --git a/FrontPart/src/component/DeleteSeat.js b/FrontPart/src/component/DeleteSeat.js index 65bbf54..b0123d7 100644 --- a/FrontPart/src/component/DeleteSeat.js +++ b/FrontPart/src/component/DeleteSeat.js @@ -2,18 +2,50 @@ import React, { useState } from "react"; import {NavLink} from "react-router-dom"; import AuthHeader from "./AuthHeader"; import axios from "axios"; -import Button from '@material-ui/core/Button'; import CssBaseline from '@material-ui/core/CssBaseline'; import TextField from '@material-ui/core/TextField'; import Link from '@material-ui/core/Link'; -import Grid from '@material-ui/core/Grid'; import LockOutlinedIcon from '@material-ui/icons/LockOutlined'; import Typography from '@material-ui/core/Typography'; import Container from '@material-ui/core/Container'; +import { makeStyles } from '@material-ui/core/styles'; +import { + AppBar, + Toolbar, + Button, + Table, + TableBody, + TableHead, + TableRow, + TableCell, + Grid, +} from '@material-ui/core'; +const useStyles = makeStyles((theme) => ({ + root: { + flexGrow: 1, + + }, + menuButton: { + marginRight: theme.spacing(2), + }, + title: { + flexGrow: 1, + textAlign: 'left', + padding: 10 + }, + table: { + width: 1000, + }, + menuBtn: { + textDecoration: 'none', + }, +})); function DeleteSeat() { + + const classes = useStyles(); const [seatNo, setSeatNo] = useState() const [password, setPassword] = useState() @@ -48,18 +80,30 @@ function DeleteSeat() { return (
- - - -
-
+ + + + Delete Seats + + + + + + + +

+
+
+

{/*
@@ -90,13 +134,11 @@ function DeleteSeat() { margin="normal" required fullWidth - id="password" + type="password" label="password" - value={seatNo} - autoComplete="seat id" onChange={handlechange2} - autoFocus + // autoFocus /> {/*
@@ -114,7 +156,7 @@ function DeleteSeat() { */}
+
); } diff --git a/FrontPart/src/component/DeleteSeatUri.js b/FrontPart/src/component/DeleteSeatUri.js deleted file mode 100644 index 9df5ff5..0000000 --- a/FrontPart/src/component/DeleteSeatUri.js +++ /dev/null @@ -1,52 +0,0 @@ -// const { Component } = require("react"); -import React from "react"; -import {Component} from "react"; -import axios from "axios"; - -class AddSeatUri extends Component { - - constructor(props) { - super(props) - this.state = { - telephoneNumber : "", - mobileNumber : "", - customerId : "" - } - } - - changeHandler = (e) => { - this.setState ({[e.target.name]: e.target.value}) - } - - submitHandler = (e) => { - e.preventDefault(); - console.log(this.state); - axios.post("http://localhost:8082/telephone/savetelephonedetails", this.state) - .then((response) => {console.log(response)}).catch((error) => {console.log(error)}) - } - - render(){ - const {telephoneNumber, mobileNumber, customerId} = this.state - return ( -
- -
- -
- -
- -
- -
- -
- - - -
- ) - } -} - -export default AddSeatUri; \ No newline at end of file diff --git a/FrontPart/src/component/Home.js b/FrontPart/src/component/Home.js new file mode 100644 index 0000000..7a77bed --- /dev/null +++ b/FrontPart/src/component/Home.js @@ -0,0 +1,74 @@ +import React from "react"; +import bg1 from "../images/bg5.jpg" + +function Home() { + return ( + + <> +
+
+
+

+ {/* */} + + {/* */} + Seat Booking App

+
+





+