Course Content
Module 1: Web Development Fundamentals
Learning Objectives By the end of this module, you will: - Understand what web development is and why it matters - Learn how the internet works behind the scenes - Set up your development environment like a pro - Build your first website from scratch
0/4
Module 2: HTML Mastery
Learning Objectives By the end of this module, you will: - Master HTML structure and syntax - Create semantic, accessible web pages - Build forms that collect user input - Understand HTML best practices and standards
0/4
Web Development For Beginners

Project Overview
Build a complete restaurant website with multiple pages, showcasing the restaurant’s menu, location, and contact information.

What You’ll Build

  • Homepage: Welcome message and featured dishes

  • Menu Page: Complete menu with prices

  • About Page: Restaurant story and team

  • Contact Page: Location, hours, and contact form

Step-by-Step Instructions

Step 1: Project Setup

mkdir restaurant-website
cd restaurant-website
touch index.html menu.html about.html contact.html
mkdir css js images
touch css/style.css

Step 2: Homepage (index.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bella Vista Restaurant - Fine Dining Experience</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <header>
        <nav>
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="menu.html">Menu</a></li>
                <li><a href="about.html">About</a></li>
                <li><a href="contact.html">Contact</a></li>
            </ul>
        </nav>
        <h1>Bella Vista Restaurant</h1>
        <p>Authentic Italian Cuisine Since 1985</p>
    </header>
    
    <main>
        <section id="hero">
            <h2>Welcome to Bella Vista</h2>
            <p>Experience the finest Italian cuisine in a warm, family-friendly atmosphere.</p>
            <a href="menu.html" class="cta-button">View Our Menu</a>
        </section>
        
        <section id="featured">
            <h2>Featured Dishes</h2>
            <article>
                <h3>Spaghetti Carbonara</h3>
                <p>Classic Roman pasta with eggs, cheese, and pancetta</p>
                <span class="price">$18.99</span>
            </article>
            
            <article>
                <h3>Margherita Pizza</h3>
                <p>Fresh mozzarella, tomato sauce, and basil</p>
                <span class="price">$16.99</span>
            </article>
            
            <article>
                <h3>Osso Buco</h3>
                <p>Braised veal shanks with risotto milanese</p>
                <span class="price">$28.99</span>
            </article>
        </section>
        
        <section id="hours">
            <h2>Restaurant Hours</h2>
            <ul>
                <li>Monday - Thursday: 5:00 PM - 10:00 PM</li>
                <li>Friday - Saturday: 5:00 PM - 11:00 PM</li>
                <li>Sunday: 4:00 PM - 9:00 PM</li>
            </ul>
        </section>
    </main>
    
    <footer>
        <p>&copy; 2024 Bella Vista Restaurant. All rights reserved.</p>
        <p>123 Main Street, Little Italy, NY 10013</p>
    </footer>
</body>
</html>

Step 3: Menu Page (menu.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Menu - Bella Vista Restaurant</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <header>
        <nav>
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="menu.html">Menu</a></li>
                <li><a href="about.html">About</a></li>
                <li><a href="contact.html">Contact</a></li>
            </ul>
        </nav>
        <h1>Our Menu</h1>
    </header>
    
    <main>
        <section id="appetizers">
            <h2>Appetizers</h2>
            <article>
                <h3>Bruschetta</h3>
                <p>Grilled bread with tomatoes, garlic, and basil</p>
                <span class="price">$9.99</span>
            </article>
            
            <article>
                <h3>Antipasto Platter</h3>
                <p>Selection of cured meats, cheeses, and olives</p>
                <span class="price">$16.99</span>
            </article>
            
            <article>
                <h3>Mozzarella Caprese</h3>
                <p>Fresh mozzarella, tomatoes, and basil with balsamic glaze</p>
                <span class="price">$12.99</span>
            </article>
        </section>
        
        <section id="pasta">
            <h2>Pasta</h2>
            <article>
                <h3>Spaghetti Carbonara</h3>
                <p>Classic Roman pasta with eggs, cheese, and pancetta</p>
                <span class="price">$18.99</span>
            </article>
            
            <article>
                <h3>Fettuccine Alfredo</h3>
                <p>Creamy parmesan sauce with fettuccine</p>
                <span class="price">$16.99</span>
            </article>
            
            <article>
                <h3>Lasagna Bolognese</h3>
                <p>Layers of pasta with meat sauce and cheese</p>
                <span class="price">$19.99</span>
            </article>
        </section>
        
        <section id="pizza">
            <h2>Pizza</h2>
            <article>
                <h3>Margherita</h3>
                <p>Fresh mozzarella, tomato sauce, and basil</p>
                <span class="price">$16.99</span>
            </article>
            
            <article>
                <h3>Pepperoni</h3>
                <p>Classic pepperoni with mozzarella and tomato sauce</p>
                <span class="price">$18.99</span>
            </article>
            
            <article>
                <h3>Quattro Stagioni</h3>
                <p>Four seasons: artichokes, mushrooms, prosciutto, and olives</p>
                <span class="price">$21.99</span>
            </article>
        </section>
        
        <section id="desserts">
            <h2>Desserts</h2>
            <article>
                <h3>Tiramisu</h3>
                <p>Classic Italian dessert with coffee and mascarpone</p>
                <span class="price">$8.99</span>
            </article>
            
            <article>
                <h3>Gelato</h3>
                <p>Three scoops of house-made gelato</p>
                <span class="price">$6.99</span>
            </article>
            
            <article>
                <h3>Cannoli</h3>
                <p>Crispy shells filled with sweet ricotta cream</p>
                <span class="price">$7.99</span>
            </article>
        </section>
    </main>
    
    <footer>
        <p>&copy; 2024 Bella Vista Restaurant. All rights reserved.</p>
    </footer>
</body>
</html>

Step 4: Contact Page (contact.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Contact - Bella Vista Restaurant</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <header>
        <nav>
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="menu.html">Menu</a></li>
                <li><a href="about.html">About</a></li>
                <li><a href="contact.html">Contact</a></li>
            </ul>
        </nav>
        <h1>Contact Us</h1>
    </header>
    
    <main>
        <section id="contact-info">
            <h2>Get in Touch</h2>
            
            <div>
                <h3>Address</h3>
                <address>
                    123 Main Street<br>
                    Little Italy, NY 10013<br>
                    United States
                </address>
            </div>
            
            <div>
                <h3>Phone</h3>
                <p><a href="tel:+1234567890">(123) 456-7890</a></p>
            </div>
            
            <div>
                <h3>Email</h3>
                <p><a href="mailto:info@bellavista.com">info@bellavista.com</a></p>
            </div>
            
            <div>
                <h3>Hours</h3>
                <ul>
                    <li>Monday - Thursday: 5:00 PM - 10:00 PM</li>
                    <li>Friday - Saturday: 5:00 PM - 11:00 PM</li>
                    <li>Sunday: 4:00 PM - 9:00 PM</li>
                </ul>
            </div>
        </section>
        
        <section id="contact-form">
            <h2>Send us a Message</h2>
            
            <form action="/contact" method="POST">
                <fieldset>
                    <legend>Your Information</legend>
                    
                    <div>
                        <label for="name">Full Name: *</label>
                        <input type="text" id="name" name="name" required>
                    </div>
                    
                    <div>
                        <label for="email">Email: *</label>
                        <input type="email" id="email" name="email" required>
                    </div>
                    
                    <div>
                        <label for="phone">Phone:</label>
                        <input type="tel" id="phone" name="phone">
                    </div>
                </fieldset>
                
                <fieldset>
                    <legend>Your Message</legend>
                    
                    <div>
                        <label for="subject">Subject: *</label>
                        <select id="subject" name="subject" required>
                            <option value="">Select a subject</option>
                            <option value="reservation">Reservation</option>
                            <option value="catering">Catering</option>
                            <option value="feedback">Feedback</option>
                            <option value="other">Other</option>
                        </select>
                    </div>
                    
                    <div>
                        <label for="message">Message: *</label>
                        <textarea id="message" name="message" rows="5" required placeholder="Please describe your inquiry..."></textarea>
                    </div>
                    
                    <div>
                        <input type="checkbox" id="newsletter" name="newsletter">
                        <label for="newsletter">Subscribe to our newsletter for special offers</label>
                    </div>
                </fieldset>
                
                <div>
                    <button type="submit">Send Message</button>
                    <button type="reset">Clear Form</button>
                </div>
            </form>
        </section>
    </main>
    
    <footer>
        <p>&copy; 2024 Bella Vista Restaurant. All rights reserved.</p>
    </footer>
</body>
</html>

Project Checklist

  • All four HTML pages created

  • Semantic HTML structure used throughout

  • Navigation menu on all pages

  • Contact form with proper validation

  • Accessible form labels and structure

  • Proper heading hierarchy

  • All links working between pages

Bonus Challenges

  1. Add an About page with restaurant history

  2. Include images for menu items

  3. Add a reservations form

  4. Create a special offers section

  5. Add social media links in the footer

Module 2 Summary

Key Takeaways

  • HTML provides the structure and content of web pages

  • Semantic HTML improves accessibility and SEO

  • Forms are essential for user interaction

  • Proper validation ensures good user experience

What’s Next
In Module 3, we’ll learn CSS to make your HTML beautiful. You’ll master styling, layouts, and responsive design.

Pro Tips for Success

  • Always use semantic HTML elements

  • Test your forms thoroughly

  • Validate your HTML code

  • Keep accessibility in mind

  • Practice with real-world projects

Your HTML skills are growing. Time to make it look amazing with CSS.

💬