Skip to content

A collection of all my Web Technologies lab exercises from Semester 5, covering everything from basic HTML/CSS to React apps and simple Node.js servers

License

Notifications You must be signed in to change notification settings

ashvp/Web-Technologies---Semester-5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Web Technologies – Semester 5 Lab Exercises

GitHub License

A collection of all my Web Technologies lab work from Semester 5; everything from basic HTML pages to full React apps and simple Node.js servers. If you're going through the same course or just exploring web dev, this repo might save you a few headaches. πŸ˜‰


πŸ“š Table of Contents


🌟 Overview

This repository contains 10 labs covering the main concepts taught in the Web Technologies course. The labs gradually move from simple webpages β†’ JavaScript β†’ React β†’ Bootstrap β†’ Node.js. Its basically the whole web dev starter pack.

What can be learned along the way:

  • Writing clean HTML & CSS
  • JavaScript DOM manipulation
  • Fetching APIs and working with real data
  • Building React components & using hooks
  • Setting up routing with React Router
  • Creating simple backends with Node.js
  • Putting everything together into small full-stack projects

πŸ§ͺ Lab Exercises

Lab 1: HTML & CSS

  • Build a resume + CV
  • Practice Flexbox, Grid, responsiveness

Lab 2: JavaScript Weather App

  • Fetch API
  • DOM manipulation
  • Error handling

Lab 3: Advanced JavaScript

  • Calculator
  • Form validation
  • Local Storage

Lab 4: React Basics

  • Components, props, lists
  • JSX fundamentals

Lab 5: React State Management

  • Temperature converter using useState
  • Celsius ↔ Fahrenheit logic

Lab 6: React useEffect

  • Countdown timer
  • Start/stop/reset
  • Timers & intervals

Lab 7: React Router Multi-Page App

  • Portfolio-like site with 8 pages
  • Integrated the previous two labs into it

Lab 8: Bootstrap

  • Blog dashboard
  • Cards, navbars, responsive grid

Lab 9: Node.js Server

  • Simple HTTP server
  • Basic routing

Lab 10: Node.js + Logging

  • Logging middleware
  • Writing logs to a file

πŸ› οΈ Technologies Used

Frontend: HTML5, CSS3, JavaScript, React, Bootstrap Backend: Node.js Other: React Router DOM, Fetch API


πŸ“¦ Installation & Setup

Clone the repo

git clone https://github.com/ashvp/Web-Technologies---Semester-5.git
cd Web-Technologies---Semester-5

For React labs (Lab 4–8)

cd Lab7
npm install
npm run dev

For Node.js labs (Lab 9–10)

cd Lab9
node server.js
    (or)
node --watch server.js (restarts the server automatically when changes are made)

For HTML-only labs

Just open index.html in your browser (or use VS Code Live Server).


πŸ“ Project Structure

Web-Technologies---Semester-5/
β”‚
β”œβ”€β”€ Lab1/                      # HTML & CSS Resume/CV
β”‚   β”œβ”€β”€ resume.html
β”‚   β”œβ”€β”€ cv.html
β”‚   β”œβ”€β”€ styleResume.css
β”‚   └── styleCV.css
β”‚
β”œβ”€β”€ Lab2/                      # Weather Dashboard
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ style.css
β”‚   └── script.js
β”‚
β”œβ”€β”€ Lab3/                      # Advanced JavaScript
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ style.css
β”‚   └── script.js
β”‚
β”œβ”€β”€ Lab4/                      # React Basics
β”‚   β”œβ”€β”€ Page 1/
β”‚   β”œβ”€β”€ Page 2/
β”‚   β”œβ”€β”€ Page 3/
β”‚   └── components/
β”‚
β”œβ”€β”€ Lab5/                      # Temperature Converter
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ App.css
β”‚   └── components/
β”‚       β”œβ”€β”€ TemperatureDisplay.jsx
β”‚       β”œβ”€β”€ TemperatureControls.jsx
β”‚       β”œβ”€β”€ TemperatureInC.jsx
β”‚       └── TemperatureInF.jsx
β”‚
β”œβ”€β”€ Lab6/                      # Countdown Timer
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ App.css
β”‚   └── components/
β”‚       β”œβ”€β”€ Title.jsx
β”‚       β”œβ”€β”€ TimeSetter.jsx
β”‚       β”œβ”€β”€ TimerDisplay.jsx
β”‚       └── ControlButtons.jsx
β”‚
β”œβ”€β”€ Lab7/                      # Multi-Page React App
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ App.css
β”‚   └── components/
β”‚       β”œβ”€β”€ Home.jsx
β”‚       β”œβ”€β”€ Education.jsx
β”‚       β”œβ”€β”€ Skills.jsx
β”‚       β”œβ”€β”€ Projects.jsx
β”‚       β”œβ”€β”€ Experience.jsx
β”‚       β”œβ”€β”€ Achievements.jsx
β”‚       β”œβ”€β”€ Thermostat.jsx
β”‚       └── Timer.jsx
β”‚
β”œβ”€β”€ Lab8/                      # Bootstrap Blog Dashboard
β”‚   β”œβ”€β”€ App.jsx
β”‚   └── components/
β”‚       β”œβ”€β”€ NavigationBar.jsx
β”‚       β”œβ”€β”€ Dashboard.jsx
β”‚       └── BlogCard.jsx
β”‚
β”œβ”€β”€ Lab9/                      # Node.js HTTP Server
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ home.js
β”‚   β”‚   β”œβ”€β”€ posts.js
β”‚   β”‚   └── error.js
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   └── BlogPosts.js
β”‚   └── components/
β”‚       β”œβ”€β”€ homePage.html
β”‚       β”œβ”€β”€ blog.html
β”‚       └── error.html
β”‚
β”œβ”€β”€ Lab10/                     # Node.js with Logging
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ home.js
β”‚   β”‚   └── about.js
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── logger.js
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ home.html
β”‚   β”‚   └── about.html
β”‚   └── Logs.txt
β”‚
└── README.md

πŸ“– Lab Details

Lab 5: Temperature Converter

  • Convert Celsius ↔ Fahrenheit
  • Buttons + input field
  • Props for communication
  • Simple React state flow

Lab 6: Countdown Timer

  • Time setter
  • Timer display
  • Controls (start / stop / reset)
  • Uses useEffect for intervals

Lab 7: React Router App

  • Eight routes
  • Portfolio-style layout
  • Integrates Lab 5 and Lab 6
  • Component reusability + navigation

Lab 9 & 10: Node.js Backend

  • Simple servers made using the built-in http module
  • Modular routing
  • File-based logging (Lab 10)

πŸ“Έ A few Screenshots

Lab 1

Resume

Lab 5

Temperature Converter

Lab 6

Timer Running

Lab 7

Home Page


🀝 Contributing

Found a bug? Want to improve a lab? Feel free to:

  1. Fork the repo
  2. Create a branch
  3. Commit changes
  4. Open a PR

Always welcome!


πŸ“ License

MIT License – see the LICENSE file.


πŸ“ž Contact

Ashwin – @ashvp

Repo Link: https://github.com/ashvp/Web-Technologies---Semester-5


πŸ™ Acknowledgments

  • Semester 5 Web Technologies course
  • MDN Web Docs
  • React & Node.js docs
  • Google (obviously)
  • And LLMs (not possible to do mundane tasks without them now)

⭐ If this repo helped you, throw it a star!

Made with ❀️ during late-night coding sessions and unskippable deadlines.

About

A collection of all my Web Technologies lab exercises from Semester 5, covering everything from basic HTML/CSS to React apps and simple Node.js servers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •