Mock-Up Website Design--Nibble Cafe

Shelayah Robinson

Logo Designer
Web Designer
Adobe XD
Canva

Examples of Web Design and Development

Nibble Cafe

A dummy website to showcase my skills as a web designer. I first created the website with this color palette: I tend to generate the colors first to have an idea of the direct I want to go.
Color Palette
Color Palette

Logo Design

I wanted the logo to be something simplistic, but not too fancy--essentially something that gets the point across that this was a cafe. I did go through a variation of texts to finally decide upon the one I wanted to do.
Nibble Cafe Logo
Nibble Cafe Logo
After having a design for a logo, I started my work in Adobe XD to figure out how I wanted to layout the website. After playing around with shapes I came to this final home design.
Home Page
Home Page
I knew I wanted to have a gallery to show case any desserts. And I also knew that I wanted the logo to be centered with clickable links. I then designed the rest of the pages following the color palette. The images I selected are from pexelbay.
About Section
About Section
Contact
Contact
Shop
Shop
The shop I wanted to add a shop area so that you could see the desserts available. The small arrow on the side was what I wanted to enable scroll to the top. And then the footer. Since this was my first design, I decided to take a break and come back to it again with a fresh new eye.

Nibble Cafe Front End Code:

Since this was primarily front-end I used HTML, CSS, and a bit of JS.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nibble Cafe</title>
</head>
<style>
html {
scroll-behavior: smooth;
}
body
{
margin: 0;
padding: 0;
background-color: #F6F3F4;
}

.header {
background-image:url(assets/navbar-bkg.png);
background-repeat:repeat-x;
justify-content: center;
margin: 0;
padding: 0;
display:flex;
}

.navbar
{
justify-content: space-between;
margin: 0;
padding: 0;
display:flex;
width: 1920px;
max-width: 1920px;

}
.nav-logo img
{
width: 250px;
flex-grow:1;
}
.navbar ul
{
list-style-type: none;
margin: 0;
padding:0;
display: flex;
justify-content: center;
}
.navbar li
{
list-style-type: none;
margin: 0;
padding:0;
flex-grow:2;
text-align:center;
/*
width:auto;
float:left;
padding-left: 50px;
clear: none;*/
}
.nav-side
{
padding-top: 53px;
flex-grow:3;
}
.nav-side li a
{
color:#000000;
font-family: "Adlery Pro";
text-decoration:none;
font-size:24px;
}
.nav-side li a:hover
{
color:#FFFFFF;

}

button
{
border: none;
cursor: pointer;
background-color: inherit;
margin-left: 551px;
margin-top: 419px;
position:absolute;
z-index: 2;
}
.home-content
{
background-image: url(assets/HomeAsset_Clouds.png);
background-repeat: no-repeat;
height: 601px;
background-position: center;
display: block;
float: left;
clear: both;
position: relative;
width: 100%;
}
.home-gallery
{
height: 586px;
width: 661px;
background-color:#9FF8FB;
display: block;
float: left;
clear: both;
position: relative;
border-radius: 40px;
margin-left: 74px;
margin-top: -73px;
z-index: 1;
}
.scroll-up button
{
border: none;
cursor: pointer;
background-color: inherit;
bottom: 60px;
right: 30px;
position: fixed;

}
.footer-design ul
{
list-style-type: none;
margin: 0;
padding:0;
}
.footer-design li
{
list-style-type: none;
margin: 50px;
padding: 0;
text-align: right;
margin-right: 218px;
}
.footer-design a
{
text-decoration: none;
font-family: Arial, Helvetica, sans-serif;

}

.about-content
{
background-image:url(assets/AboutAsset_AboutPage.png);
background-repeat: no-repeat;
height: 1249px;
width:105%;
float: left;
clear: both;
position: relative;
background-position: center;
}
.contact-content
{
background-image:url(assets/ContactAsset_CafeContactPage.png);
background-repeat: no-repeat;
height: 1067px;
width:100%;
float: left;
clear: both;
position: relative;
background-position: center;
}
.shop-content
{
background-image: url(assets/NibbleCafe_ShopPage.png);
background-repeat: no-repeat;
height: 1891px;
width:100%;
float: left;
clear: both;
position: relative;
background-position: center;
}
.footer-content
{
background-image: url(assets/ShopAsset_Footer.png);
background-repeat: no-repeat;
height: 350px;
width:100%;
float: left;
clear: both;
position: relative;
background-position: center;
}
.site-content
{
width:1920px;
margin-left:auto;
margin-right:auto;
}
* {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
max-width: 661px;
position: relative;
margin: auto;
}

/* Hide the images by default */
.mySlides {
display: none;
}

/* Next & previous buttons */
.prev, .next {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
margin-top: -22px;
padding: 16px;
color: white;
font-weight: bold;
font-size: 18px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
user-select: none;
}

/* Position the "next button" to the right */
.next {
right: 0;
border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
color: #f2f2f2;
font-size: 15px;
padding: 8px 12px;
position: absolute;
bottom: 8px;
width: 100%;
text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
color: #f2f2f2;
font-size: 12px;
padding: 8px 12px;
position: absolute;
top: 0;
}

/* The dots/bullets/indicators */
.dot {
cursor: pointer;
height: 15px;
width: 15px;
margin: 0 2px;
background-color: #9B7EDE;
border-radius: 50%;
display: inline-block;
transition: background-color 0.6s ease;
}

.active, .dot:hover {
background-color:#533C88;
}

/* Fading animation */
.fade {
animation-name: fade;
animation-duration: 1.5s;
}
.photolibrary
{
width: 660px;
height: 590px;
border-radius: 30px;
}
@keyframes fade {
from {opacity: .4}
to {opacity: 1}
}

</style>
<body>

<div class="header">
<div class="navbar">
<div class="nav-side">
<ul>
<li><a href="#Home">Home</a></li>
<li><a href="#About">About</a></li>
</ul>
</div>
<div class="nav-logo">
<img src="assets/logoCafe.png" alt="logo" />
</div>
<div class="nav-side">
<ul>
<li><a href="#Contact">Contact</a></li>
<li><a href="#Shop">Shop</a></li>
</ul>

</div>
</div>
</div>

<div class="site-content">

<div class="home-content">

<div class ="shopbtn">

<a href="#Shop"><button onclick=""><img src="assets/Shop_Button.png" alt=""/></button> </a>

</div>

<div class="home-gallery">
<!-- Slideshow container -->
<div class="slideshow-container">

<!-- Full-width images with number and caption text -->
<div class="mySlides fade">
<div class="numbertext">1 / 3</div>
<img src="https://images.pexels.com/photos/6408290/pexels-photo-6408290.jpeg" class="photolibrary">
<div class="text">Caption Text</div>
</div>

<div class="mySlides fade">
<div class="numbertext">2 / 3</div>
<img src="https://images.pexels.com/photos/302899/pexels-photo-302899.jpeg" class="photolibrary">
<div class="text">Caption Two</div>
</div>

<div class="mySlides fade">
<div class="numbertext">3 / 3</div>
<img src="https://images.pexels.com/photos/867452/pexels-photo-867452.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1" class="photolibrary">
<div class="text">Caption Three</div>
</div>

<!-- Next and previous buttons -->
<a class="prev" onclick="plusSlides(-1)">&#10094;</a>
<a class="next" onclick="plusSlides(1)">&#10095;</a>
</div>
<br>

<!-- The dots/circles -->
<div style="text-align:center">
<span class="dot" onclick="currentSlide(1)"></span>
<span class="dot" onclick="currentSlide(2)"></span>
<span class="dot" onclick="currentSlide(3)"></span>
</div>


</div>
</div>
</div>
</div>
<div class="about-content">
<div class="about-design">
<div class = "scroll-up">
<button onclick="topFunction()" id="myBtn" ><img src="assets/NibbleCafe_UpArrow.png" height="96" width="96" alt=""/> </button>
</div>
<div id="About"></div>
</div>
</div>
<div class="contact-content">
<div id="Contact"></div>
<div class="contact-design">
</div>
</div>
<div class="shop-content">
<div class="shop-design">
<div id="shop-locate"></div>
</div>
<div id="Shop"></div>
</div>
<div class="footer-content">
<div class="footer-design">
<ul>
<li> <a href = "#"> Home</a></li>
<li><a href = "#">About</a></li>
<li> <a href = "#">Contact</a></li>
<li><a href = "#">Shop</a></li>
</ul>

</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

//scrollup button

// Get the button
let mybutton = document.getElementById("myBtn");

// When the user scrolls down 20px from the top of the document, show the button
window.onscroll = function() {scrollFunction()};

function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
mybutton.style.display = "block";
} else {
mybutton.style.display = "none";
}
}

// When the user clicks on the button, scroll to the top of the document
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
//
let slideIndex = 1;
showSlides(slideIndex);

// Next/previous controls
function plusSlides(n) {
showSlides(slideIndex += n);
}

// Thumbnail image controls
function currentSlide(n) {
showSlides(slideIndex = n);
}

function showSlides(n) {
let i;
let slides = document.getElementsByClassName("mySlides");
let dots = document.getElementsByClassName("dot");
if (n > slides.length) {slideIndex = 1}
if (n < 1) {slideIndex = slides.length}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex-1].style.display = "block";
dots[slideIndex-1].className += " active";
}
</script>
</body>
</html>

Nibble Cafe Final Product:

Nibble Cafe 2.0

I felt like the design could be a little better so I decided to re choose my color palette this time with less colors to work with:
I still liked the logo so I decided to go keep that. I wanted the website to feel like a bakery, so I delved into a lot more inspiration research to capture that bakery feel.
Nibble Cafe Redesign
Nibble Cafe Redesign
I liked this front end a lot better. And It had a feel of a bakery for a mock-up website.
Partner With Shelayah
View Services

More Projects by Shelayah