LEVEL-1 Report
18 / 4 / 2026
TASK 1: OSI MODEL
The Open Systems Interconnection (OSI) model is a conceptual framework that defines how computers communicate over a network. It divides the entire communication process into seven layers, each responsible for specific tasks.
This model helped me understand how different devices across the world can talk to each other smoothly through the internet — just like a teamwork of seven members, where each one has a unique role!
THE SEVEN LAYERS OF THE OSI MODEL
1. Application Layer
- The topmost layer where users directly interact with applications like browsers and email clients.
- Provides services such as email (SMTP), file transfer (FTP), and web browsing (HTTP).
- Common Protocols: HTTP, FTP, SMTP, DNS, SSH, SNMP, DHCP
- Relation to Cloud: Applications like Google Drive, Gmail, and AWS console work at this layer to let users access cloud services.
2. Presentation Layer
- Responsible for data formatting, encryption, and compression.
- Ensures that the data sent by the sender is readable and usable by the receiver.
- Example: Converting data into readable formats like JPEG, MP4, or text.
- Relation to Cloud: Ensures data security and proper format conversion during cloud file uploads or downloads.
3. Session Layer
- Manages sessions or connections between computers.
- Handles establishing, maintaining, and terminating connections.
- Provides authentication and synchronization between devices.
- Relation to Cloud: Manages user sessions when logging into cloud platforms like AWS, Google Cloud, or any SaaS-based applications.
4. Transport Layer
- Ensures reliable and accurate data delivery between applications.
- Performs segmentation, error checking, and flow control.
- Protocols:
- TCP (Transmission Control Protocol): Reliable and connection-oriented.
- UDP (User Datagram Protocol): Fast but connectionless.
- Relation to Cloud: Ensures reliable communication between cloud servers and clients, especially for real-time services like video streaming or online meetings.
5. Network Layer
- Responsible for routing data packets between networks.
- Uses logical addressing (IP addresses) to identify devices.
- Protocols: IP, ICMP, IGMP
- Handles path determination and packet forwarding using routers.
- Relation to Cloud: Helps in transferring data between different cloud data centers and networks efficiently.
6. Data Link Layer
- Ensures error-free data transfer between two directly connected nodes.
- Uses MAC addresses for identifying devices on the same network.
- Handles framing, error detection, and flow control.
- Relation to Cloud: Provides a stable and secure base for virtual machines and cloud servers to communicate through data frames.
7. Physical Layer
- Deals with the actual physical connection — cables, switches, routers, and hardware components.
- Converts data into electrical, radio, or light signals for transmission.
- Relation to Cloud: Cloud infrastructure depends on high-speed physical connections (like fiber optics) for global data transfer.
Each layer is stacked vertically to represent how data moves up and down between layers — from user applications down to hardware and back up again on the receiving side.
KEY CONCEPTS LEARNED
- Switching: Process of moving data packets between devices on the same network.
- Routing: Deciding the best path for data to travel across different networks.
- Handshake: Initial connection setup between two systems (e.g., TCP 3-way handshake).
- IP Addressing: Unique logical addresses that identify devices in a network (like 192.168.x.x).

TASK 2: IaaS, PaaS, and SaaS
Cloud computing has completely changed the way we use technology today. Instead of buying and maintaining expensive hardware and software, companies (and even individuals) can now use cloud-based services according to their needs.
There are mainly three types of cloud computing service models — IaaS, PaaS, and SaaS. Each one offers a different level of control, flexibility, and management — just like building a house:
- IaaS gives you the land and materials.
- PaaS gives you a ready-made foundation to build on.
- SaaS gives you the fully built house — ready to move in!
1. INFRASTRUCTURE AS A SERVICE (IaaS)
IaaS provides the basic building blocks for cloud IT — such as virtual servers, storage, and networking. It allows users to rent IT infrastructure on a pay-as-you-go basis.
Features
- Full control over operating systems and applications
- Highly scalable and flexible
- Eliminates the need to buy physical hardware
Example
- Amazon Web Services (AWS EC2)
- Microsoft Azure Virtual Machines
- Google Compute Engine (GCE)
Relation to Cloud Computing
IaaS forms the foundation layer of cloud computing. Developers or businesses use it to create virtual data centers that can host websites, apps, or even entire enterprise systems.
2. PLATFORM AS A SERVICE (PaaS)
PaaS provides a platform that lets developers build, test, and deploy applications without worrying about managing the underlying infrastructure.
Features
- Offers a pre-configured environment for coding and deployment
- Includes operating systems, databases, and development tools
- Reduces time needed to develop and launch apps
Example
- Google App Engine
- AWS Elastic Beanstalk
- Microsoft Azure App Service
Relation to Cloud Computing
PaaS helps developers focus on writing code rather than maintaining servers. It’s ideal for teams building scalable applications quickly, such as web apps or mobile apps.
TASK 3: Socket IO
Socket.IO is a JavaScript library that enables real-time, bi-directional communication between web clients and servers. It works on top of the WebSocket protocol and provides additional features like fallback options, automatic reconnection, and event-based communication.
This means when one user sends a message, others connected to the same server can instantly receive it — making it perfect for applications like chat systems, live updates, or multiplayer games.
I created a basic chat application using Node.js and Socket.IO. The application allows multiple users to connect to the same chatroom and exchange messages in real-time.
GitHub Repository: socketio-chatApp

TASK 4: WORKING OF VERSION CONTROL
INTRODUCTION
Version Control is a system that helps us save and track changes made to files over time. It allows us to return to previous versions, work in teams, and manage projects easily.
Git is a widely used version control tool that helps developers handle code efficiently.
BASIC CONCEPTS OF VERSION CONTROL
Repository
A repository is a place where project files and their history are stored. It can be:
- Local repository (on our computer)
- Remote repository (on GitHub or GitLab)
Commit
A commit is used to save changes made to files. Each commit has a unique ID and a message describing the changes.
Branch
A branch allows us to work on new features without affecting the main code.
Merge
Merge is used to combine changes from one branch into another.
INSTALLING AND INITIALIZING GIT
To check if Git is installed:
git --version
INITIALIZING A NEW REPOSITORY
git init
GIT COMMANDS PRACTICED
1. git branch
The git branch command is used to create and manage branches.
Create a new branch
git branch branch-name
List all branches
git branch
Create and switch to a branch
git checkout -b branch-name
Switch between branches
git checkout branch-name
2. git merge
The git merge command is used to merge one branch into the current branch.
Syntax
git merge branch-name
This command combines the changes from the given branch into the active branch.
3. git revert
The git revert command is used to undo a commit safely.
Syntax
git revert commit-hash
It creates a new commit that reverses the changes made by a previous commit.
4. git cherry-pick
The git cherry-pick command is used to apply a specific commit from another branch.
Syntax
git cherry-pick commit-hash
This command is useful when only a particular commit is required.
📸 Screenshots:

TASK 5: DYNAMODB
1. INTRODUCTION
This project demonstrates a secure user login system implemented using AWS DynamoDB. The system allows users to register and log in using email and password credentials. Passwords are securely stored using hashing, ensuring data security.
Technologies Used:
- Python 3
- AWS DynamoDB (NoSQL Database)
- Boto3 (AWS SDK for Python)
- bcrypt (for password hashing)
2. OBJECTIVES
- Understand the basics of NoSQL databases and how DynamoDB works.
- Implement a secure registration and login system.
- Learn to interact with AWS services using Boto3.
- Compare SQL vs NoSQL databases and understand their use cases.
3. DYNAMODB OVERVIEW
Amazon DynamoDB is a fully managed NoSQL database service. It provides:
- Scalability: Handles traffic from a few requests per second to millions without manual intervention.
- Performance: Offers low-latency read and write operations.
- Flexible Schema: Supports different data structures, unlike rigid SQL tables.
- Integration: Works seamlessly with other AWS services.
Key Concepts:
- Table: Collection of items (similar to SQL tables)
- Item: Individual records in a table (like rows in SQL)
- Attributes: Fields of an item (like columns in SQL)
- Primary Key: Uniquely identifies each item
4. DIFFERENCE BETWEEN MYSQL AND NOSQL
| Feature | MySQL | NoSQL (DynamoDB) |
|---|---|---|
| Data Structure | Rows and Columns (Tables) | Key-Value / Document |
| Schema | Fixed | Flexible |
| Query Language | SQL | Varies / API calls |
| Scalability | Vertical | Horizontal |
5. SYSTEM WORKFLOW
5.1 Registration
- User enters email and password.
- Password is hashed using bcrypt.
- User credentials are stored in DynamoDB table
signup_page.
Example Output:
Enter email: yasmeen_taj
Enter password: 1234
SUCCESS: User yasmeen_taj registered with a hashed password.
5.2 Login
- User enters email and password.
- System retrieves the hashed password from DynamoDB.
- Password is verified against the hash.
- User is granted access if credentials match.
Example Outputs:
Enter email: yasmeen_taj
Enter password: 1234
WELCOME: Login successful for yasmeen_taj!
Enter email: yasmeen_taj
Enter password: 123
FAILED: Invalid email or password.
6. IMPLEMENTATION DETAILS
File Structure:
user-login-system/
├── app.py # Main program (CLI or Flask interface)
├── auth_service.py # Handles registration and login logic
├── database.py # DynamoDB connection setup using Boto3
├── requirements.txt # Python dependencies
└── .env # Environment variables (AWS keys)
Python Libraries Used:
boto3– AWS SDK to interact with DynamoDBbcrypt– For secure password hashingpython-dotenv– Load AWS credentials from.envfile
Key Code Snippets:
Hashing password
hashed_password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
Verifying password
if bcrypt.checkpw(input_password.encode('utf-8'), stored_hash.encode('utf-8')):
print("Login successful")
else:
print("Invalid credentials")
7. TERMINAL OUTPUTS
Login Attempts:
- Correct password → Login successful
- Incorrect password → Login failed
- Multiple users supported
8. LEARNING OUTCOMES
- Learned to set up AWS CLI and configure credentials.
- Learned to use Boto3 for CRUD operations in DynamoDB.
- Implemented secure password storage using bcrypt.
- Understood differences between SQL and NoSQL databases.
- Developed a working user login system.
ScreenShote

Github project repository: Click Here
Remaining Report Click Here
