initial commit
This commit is contained in:
commit
03b810d617
5 changed files with 465 additions and 0 deletions
10
docker-compose.yml
Normal file
10
docker-compose.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Use root/example as user/password credentials
|
||||||
|
version: '3.1'
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: example
|
||||||
|
# (this is just an example, not intended to be a production configuration)
|
BIN
hotel_booking/images/h.png
Normal file
BIN
hotel_booking/images/h.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9 KiB |
BIN
hotel_booking/images/home1.jpg
Normal file
BIN
hotel_booking/images/home1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
269
hotel_booking/index.php
Normal file
269
hotel_booking/index.php
Normal file
|
@ -0,0 +1,269 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Midtown Hotel | The best hotels & accommodations</title>
|
||||||
|
<link rel="shortcut icon" href="./images/h.png" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Righteous&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!--Hero & Navbar section-->
|
||||||
|
<div class="hero">
|
||||||
|
<!--Navbar section (bootstrap)-->
|
||||||
|
<div class="wrap w-100">
|
||||||
|
<div class="row align-items-center m-0 d-none d-md-flex sticky-top" style="padding-top: 50px;">
|
||||||
|
<div class="col-5 text-center rounded-pill" >
|
||||||
|
<ul class="d-flex list-unstyled justify-content-center m-0">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">Rooms</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">Services</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="index.php">News</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">Gallery</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-2 bg-transparent px-3">
|
||||||
|
<a href="index.php" style="text-decoration: none;">
|
||||||
|
<h1 class="text-center fw-bold figure-img logo-font">Midtown Hotel</h1>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-5 text-center rounded-pill">
|
||||||
|
<ul class="d-flex list-unstyled justify-content-center m-0">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">About</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">Contact</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" data-bs-toggle="modal" data-bs-target="#loginBackdrop" style="cursor: pointer;">Login</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" data-bs-toggle="modal" data-bs-target="#registerBackdrop" style="cursor: pointer;">Register</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--Navbar responsive (css)-->
|
||||||
|
<div>
|
||||||
|
<div class="nav-parent">
|
||||||
|
<div class="nav-wrapper">
|
||||||
|
<div class="branding">
|
||||||
|
<a href="#" class="logo-font">Midtown Hotel</a>
|
||||||
|
</div>
|
||||||
|
<a class="burger" onclick="burgerButton()">
|
||||||
|
<div class="bar"></div>
|
||||||
|
<div class="bar"></div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="burger-links">
|
||||||
|
<ul>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">Rooms</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">Services</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">Gallery</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">About</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">Contact</a>
|
||||||
|
</li>
|
||||||
|
<li style="padding-top: 50px">
|
||||||
|
<buton type="button" class="nav-link btn shadow-none" data-bs-toggle="modal" data-bs-target="#loginBackdrop" style="border: 1px solid white; font-weight: 500; color: white;">Login</button>
|
||||||
|
</li>
|
||||||
|
<li style="padding-top: 5px">
|
||||||
|
<buton type="button" class="nav-link btn shadow-none" data-bs-toggle="modal" data-bs-target="#registerBackdrop" style="background-color: #EEEEEE; font-weight: 500; color: black;">Register</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--backdrop login-->
|
||||||
|
<div class="modal fade" id="loginBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<form>
|
||||||
|
<div class="modal-header" style="border: none;">
|
||||||
|
<button type="reset" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<h5 class="text-center" style="font-size: 22px;">Login</h5>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Email address</label>
|
||||||
|
<input type="email" class="form-control shadow-none">
|
||||||
|
</div>
|
||||||
|
<div class="mb-2">
|
||||||
|
<label class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control shadow-none">
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<a href="javascript: void(0)" style="font-size: 14px; color: gray;">Forgot your password?</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 d-grid">
|
||||||
|
<button type="submit" class="btn btn-dark shadow-none d-block ">Login</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--backdrop register-->
|
||||||
|
<div class="modal fade" id="registerBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<form>
|
||||||
|
<div class="modal-header" style="border: none;">
|
||||||
|
<button type="reset" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<h5 class="text-center" style="font-size: 22px;">Register</h5>
|
||||||
|
</div>
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="mb-3 col-md-6">
|
||||||
|
<label>First Name</label>
|
||||||
|
<input type="text" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 col-md-6">
|
||||||
|
<label>Last Name</label>
|
||||||
|
<input type="text" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 col-md-6">
|
||||||
|
<label>Phone Number</label>
|
||||||
|
<input type="tel" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 col-md-6">
|
||||||
|
<label>Date of Birth</label>
|
||||||
|
<input type="date" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 col-md-12">
|
||||||
|
<label>Address</label>
|
||||||
|
<textarea type="text" rows="3" class="form-control shadow-none" style="resize: none;"></textarea>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 col-md-12">
|
||||||
|
<label>Email</label>
|
||||||
|
<input type="email" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 col-md-6">
|
||||||
|
<label>Password</label>
|
||||||
|
<input type="password" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-5 col-md-6">
|
||||||
|
<label>Confirm Password</label>
|
||||||
|
<input type="password" class="form-control shadow-none"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 d-grid">
|
||||||
|
<button type="submit" class="btn btn-dark shadow-none d-block ">Register</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--Hero section-->
|
||||||
|
<div class="hero-content">
|
||||||
|
<div class="hero-head">
|
||||||
|
<h1 class="hero-title">Welcome to Midtown Hotel</h1>
|
||||||
|
<p class="hero-subtitle">Everything you can dream about, available here, start just $99 per night</p>
|
||||||
|
</div>
|
||||||
|
<!--availability-->
|
||||||
|
<div class="container">
|
||||||
|
<div class="row row-form">
|
||||||
|
<div class="col-lg-12 bg-white shadow p-3 rounded">
|
||||||
|
<form>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-3">
|
||||||
|
<label class="form-label" style="color: black; font-weight: 500;">Check-in</label>
|
||||||
|
<input type="date" class="form-control shadow-none" style="font-size: 14px;"/>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-3">
|
||||||
|
<label class="form-label" style="color: black; font-weight: 500;">Check-out</label>
|
||||||
|
<input type="date" class="form-control shadow-none" style="font-size: 14px;"/>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-2">
|
||||||
|
<label class="form-label" style="color: black; font-weight: 500;">Guests</label>
|
||||||
|
<select class="form-select" style="font-size: 14px;">
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2">2</option>
|
||||||
|
<option value="3">3</option>
|
||||||
|
<option value="4">4</option>
|
||||||
|
<option value="5">5</option>
|
||||||
|
<option value="6">More than 5</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-2">
|
||||||
|
<label class="form-label" style="color: black; font-weight: 500;">Rooms</label>
|
||||||
|
<select class="form-select" style="font-size: 14px;">
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2">2</option>
|
||||||
|
<option value="3">3</option>
|
||||||
|
<option value="4">4</option>
|
||||||
|
<option value="5">5</option>
|
||||||
|
<option value="6">More than 5</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-2">
|
||||||
|
<div class="d-grid" style="align-items: center; margin-top: 30px;">
|
||||||
|
<button type="submit" class="btn btn-dark shadow-none d-block" style="font-size: 14px; font-weight: 500;">Register</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--Rooms-->
|
||||||
|
<div>
|
||||||
|
<h3 class="mt-5 pt-4 text-center">Popular Rooms</h3>
|
||||||
|
<p class="mb-5 text-center">Comfortably furnished smaller accommodation</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
|
<script>
|
||||||
|
const burgerLinks = document.querySelector('.burger-links');
|
||||||
|
const burger = document.querySelector('.burger');
|
||||||
|
const body = document.querySelector('body');
|
||||||
|
|
||||||
|
burgerButton = function()
|
||||||
|
{
|
||||||
|
burgerLinks.classList.toggle('active');
|
||||||
|
burger.classList.toggle('active');
|
||||||
|
body.classList.toggle('active');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
186
hotel_booking/style.css
Normal file
186
hotel_booking/style.css
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
*{
|
||||||
|
font-family: "Lora", serif;
|
||||||
|
}
|
||||||
|
.logo-font{
|
||||||
|
font-family: "Righteous", sans-serif;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
a{
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
ul{
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
/*-Hero-*/
|
||||||
|
.hero {
|
||||||
|
position: relative;
|
||||||
|
background: url('./images/home1.jpg') center/cover no-repeat;
|
||||||
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.hero::before{
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, 0.6);
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
.hero-content{
|
||||||
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
color: #fff;
|
||||||
|
z-index: 1;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
.hero-head{
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
.hero-title{
|
||||||
|
font-size: 56px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
animation: fadeInUp 1s ease-in-out;
|
||||||
|
}
|
||||||
|
.hero-subtitle{
|
||||||
|
font-size: 18px;
|
||||||
|
animation: fadeInUp 1s ease-in-out 0.5s;
|
||||||
|
}
|
||||||
|
@keyframes fadeInUp{
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(20px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*--- Navbar ---*/
|
||||||
|
.nav-parent{
|
||||||
|
width: 100%;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
.nav-wrapper{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.nav-wrapper ul{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
.nav-wrapper ul li a::after{
|
||||||
|
content: '';
|
||||||
|
display: flex;
|
||||||
|
width: 0%;
|
||||||
|
height: 2px;
|
||||||
|
transition: all .3s ease;
|
||||||
|
}
|
||||||
|
.nav-wrapper ul li a:hover::after {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.nav-item .nav-link{
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.nav-item .nav-link:hover{
|
||||||
|
color: #B0A695;
|
||||||
|
}
|
||||||
|
.branding{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.burger {
|
||||||
|
display: none;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 50px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
.burger.active .bar:nth-child(1) {
|
||||||
|
transform: rotate(45deg) translateY(6px);
|
||||||
|
}
|
||||||
|
.burger.active .bar:nth-child(2) {
|
||||||
|
transform: rotate(-45deg) translateY(-5px);;
|
||||||
|
}
|
||||||
|
.burger .bar {
|
||||||
|
width: 100%;
|
||||||
|
height: 2px;
|
||||||
|
background: white;
|
||||||
|
transition: all .3s ease;
|
||||||
|
}
|
||||||
|
.burger-links {
|
||||||
|
display: none;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 26px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 2;
|
||||||
|
background: black;
|
||||||
|
top: -100%;
|
||||||
|
transition: all .3s ease;
|
||||||
|
}
|
||||||
|
.burger-links a{
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.burger-links.active {
|
||||||
|
top: 0%;
|
||||||
|
}
|
||||||
|
@media (max-width:768px) {
|
||||||
|
.nav-wrapper {
|
||||||
|
padding: 30px;
|
||||||
|
}
|
||||||
|
.nav-wrapper ul {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.branding {
|
||||||
|
display: flex;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
.branding .logo-font:hover{
|
||||||
|
color: #B0A695;
|
||||||
|
}
|
||||||
|
.burger{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.burger-links{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 450px){
|
||||||
|
.hero-head{
|
||||||
|
margin-top: 100px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.hero-title{
|
||||||
|
font-size: 44px;
|
||||||
|
}
|
||||||
|
.hero-subtitle{
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.row-form{
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue