CET138
Full Stack Development
ePortfolio

By Samika Paudel — Professional ePortfolio Assignment

Explore Portfolio

What is Full Stack Development?

Full stack development means building a complete web application. This means the full stack developer works on the both the front-end, which is what people see when they visit a website, and the back-end, which is the server, database, and all the logic that makes things work. A full stack developer understands how everything connects, from when someone clicks a button on a page all the way to how that information is stored and returned.

Front-End

The frontend of a web application is the part that people can see. It is made with HTML, CSS and JavaScript. When you use a website, you are interacting with the front-end. It is what you see in your browser. The front-end technologies include:

HTML CSS JavaScript Bootstrap
Back-End

The backend of a web application is the part that people cannot see. It handles all the behind the scenes work, like figuring out who you are and what you can do and getting information from a database. The backend runs on a computer and talks to the frontend. The back-end technologies include:

Node.js PHP Python Databases
How They Connect

When you click a button on a website, the frontend sends a message to the backend. Then, the backend does some work, it checks if you are logged in or it gets some information from a database. After that, the backend sends a message back to the frontend. The frontend then updates what you see on the screen based on what the backend sent. The frontend is showing you what the backend found out. Then, the backend work together to make a web application work properly. The frontend and the backend have to work like this to make everything run smoothly. Frontend and the backend are, like two parts of a team they need to work for the web app to work.

Browser → HTTP Request → Server → Database

Database → Response → Server → JSON → Browser

HTML

HTML stands for HyperText Markup Language. It is the standard language used to structure content on the web. Every webpage is built using HTML elements such as headings, paragraphs, images, links, tables, and forms.

About HTML

HTML uses tags to define elements on a page. Tags are written inside angle brackets, like <p> for a paragraph or <h1> for a heading. Browsers read the HTML and display the content accordingly.

Features Demonstrated Below:
  • Headings and paragraphs
  • Forms with labels and inputs
  • Tables for structured data
  • Semantic HTML elements
Sample Registration Form

This form demonstrates HTML form elements including input fields, labels, and a submit button.

HTML Table Example

Tables are used in HTML to display structured data in rows and columns using the <table>, <tr>, <th>, and <td> tags.

Tag Name Purpose
<h1>HeadingDefines the main heading of a page
<p>ParagraphDefines a block of text
<a>AnchorCreates a hyperlink
<img>ImageEmbeds an image on the page
<form>FormGroups input elements for user data

CSS

CSS stands for Cascading Style Sheets. It is used to control the visual appearance of HTML elements — including colours, fonts, spacing, and layout. Without CSS, websites would just be plain text on a white page.

What CSS Does

CSS works by selecting HTML elements and applying style rules to them. For example, you can change the colour of all headings, add padding to a card, or make a layout display in columns using Flexbox or Grid.

Key CSS Concepts:
  • Selectors and properties
  • Box model (margin, padding, border)
  • Flexbox and Grid layouts
  • Colours, fonts, and spacing
  • Hover effects and transitions
  • Media queries for responsiveness
CSS Demo — Hover Box

Hover over the box below to see a CSS transition in action.

Hover over me

This uses the CSS transition property and :hover selector to change the background colour and scale of the element smoothly.

CSS Code Example

Below is an example of the CSS used to style the cards on this page:

            
.card {
  background-color: rgb(25, 25, 50);
  border: 1px solid #333;
  border-radius: 10px;
  padding: 25px;
  color: #a6a5a5;
  transition: transform 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
}

Bootstrap Framework

Bootstrap is a popular open-source CSS framework that makes it easier to build responsive, mobile-friendly websites. It provides ready-made components like navbars, buttons, cards, and a 12-column grid system that automatically adjusts to different screen sizes.

Grid System

Bootstrap uses a 12-column grid. You can split the page into columns using classes like col-md-6 (half width) or col-md-4 (one third). Columns automatically stack on smaller screens.

col-4
col-4
col-4
col-8
col-4
Bootstrap Buttons

Bootstrap provides styled button classes that can be applied directly to any button element without writing custom CSS.

Bootstrap Alerts

Alert components are used to show messages to users. They come in different colours for different types of feedback.

Form submitted successfully.
Please fill in all fields.
An error occurred.
How Bootstrap is Added

Bootstrap is loaded through a CDN link placed in the <head> of the HTML file. No download is needed.

<!-- Bootstrap CSS in <head> -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

<!-- Bootstrap JS before </body> -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

JavaScript

JavaScript is a programming language that runs in the browser and makes web pages interactive. It can respond to user actions, update content on the page without reloading, and communicate with servers to load or send data.

Interactive Counter

This demonstrates JavaScript variables, functions, and DOM manipulation. Each button click calls a function that updates a variable and displays the new value on the page.

0

                
let count = 0;

function increaseCounter() {
  count++;
  document.getElementById("counter")
          .innerText = count;
}

function resetCounter() {
  count = 0;
  document.getElementById("counter")
          .innerText = count;
}

DOM Manipulation

JavaScript can read values from form inputs and use them to update the page content dynamically. This is done using document.getElementById().

function showGreeting() {
  const name = document
    .getElementById("nameInput").value;
  const output = document
    .getElementById("greetingOutput");
  output.style.display = "block";
  output.innerText = "Hello, " + name + "!";
}

Key JavaScript Concepts

The table below summarises the main JavaScript concepts demonstrated in this portfolio section.

Concept Example What it does
Variablelet count = 0;Stores a value that can change
Functionfunction increaseCounter() {}A reusable block of code
DOM selectiondocument.getElementById("id")Finds an HTML element by its ID
Eventonclick="increaseCounter()"Runs a function when an element is clicked
Conditionif (count > 0) {}Runs code only when a condition is true