[go: up one dir, main page]

0% found this document useful (0 votes)
21 views7 pages

Intern 2

Uploaded by

emir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views7 pages

Intern 2

Uploaded by

emir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

30-Day Frontend Development Internship Notebook

Overview
This internship notebook documents a structured 30-day plan for a beginner
student in frontend development. Each day includes activities, learnings, and a
detailed explanation of one day's experience.

Week 1: Introduction to HTML & CSS


Day 1: Getting Started with HTML
 Activities: Set up the development environment (installed VSCode and
Chrome).
 Learnings: Basic HTML structure (doctype, html, head, body).
 Practice: Created a simple webpage with headings and paragraphs.
Day 2: Advanced HTML Elements
 Activities: Explored semantic HTML (header, footer, article, section).
 Learnings: Importance of semantics for SEO and accessibility.
 Practice: Built a blog post layout using semantic elements.
Day 3: Introduction to CSS
 Activities: Started learning CSS fundamentals (selectors, properties,
values).
 Learnings: How to apply styles to HTML elements.
 Practice: Styled the blog post from Day 2 with colors and fonts.
Day 4: CSS Box Model
 Activities: Studied the box model (margin, border, padding, content).
 Learnings: Understanding spacing and layout.
 Practice: Adjusted the spacing of elements in the blog layout.
Day 5: Flexbox Basics
 Activities: Learned about Flexbox for layout design.
 Learnings: How to create flexible layouts using display: flex.
 Practice: Designed a responsive navigation bar.
Day 6: Responsive Design
 Activities: Introduced media queries.
 Learnings: How to make websites look good on different devices.
 Practice: Updated the navigation bar to be mobile-friendly.
Day 7: Review and Mini Project
 Activities: Reviewed HTML & CSS concepts.
 Learnings: Importance of good design practices.
 Practice: Created a personal portfolio page combining all learned
concepts.

Week 2: JavaScript Fundamentals


Day 8: Introduction to JavaScript
 Activities: Set up a JavaScript environment (explored console and scripts).
 Learnings: Basics of JS syntax and variables.
 Practice: Wrote simple scripts to manipulate text and numbers.
Day 9: Control Structures
 Activities: Learned about conditionals (if statements, switch).
 Learnings: How to control the flow of a program.
 Practice: Built a simple age-checking app.
Day 10: Functions in JavaScript
 Activities: Studied function declaration and invocation.
 Learnings: Importance of functions for code reusability.
 Practice: Created a calculator function.
Day 11: Arrays and Objects
 Activities: Explored arrays and object literals.
 Learnings: How to store collections of data.
 Practice: Created an array of blog posts and an object for a user profile.
Day 12: DOM Manipulation
 Activities: Learned how to access and modify the DOM.
 Learnings: Importance of DOM for interactivity.
 Practice: Built a simple interactive to-do list.
Day 13: Events in JavaScript
 Activities: Studied event handling.
 Learnings: How to respond to user actions (clicks, inputs).
 Practice: Enhanced the to-do list with event listeners.
Day 14: Review and Mini Project
 Activities: Reviewed JavaScript concepts.
 Learnings: Integration of JS with HTML/CSS.
 Practice: Developed a small quiz app using JS.

Week 3: Advanced JavaScript and Frameworks


Day 15: ES6 Features
 Activities: Learned about arrow functions, let/const, and template literals.
 Learnings: Modern JS syntax and its benefits.
 Practice: Refactored previous projects using ES6 features.
Day 16: Introduction to Git
 Activities: Set up Git and GitHub.
 Learnings: Basics of version control.
 Practice: Created a repository for my projects.
Day 17: Fetching Data with APIs
 Activities: Explored how to use the Fetch API.
 Learnings: How to retrieve data from a server.
 Practice: Created a small app that displays data from a public API.
Day 18: Introduction to React
 Activities: Set up a React environment using Create React App.
 Learnings: Basics of components and JSX.
 Practice: Built a simple "Hello World" React component.
Day 19: State and Props in React
 Activities: Studied state management and props.
 Learnings: How to manage data in React components.
 Practice: Created a counter app using state.
Day 20: Component Lifecycle
 Activities: Learned about component lifecycle methods.
 Learnings: Understanding when components mount and unmount.
 Practice: Implemented component lifecycle methods in the counter app.
Day 21: Review and Mini Project
 Activities: Reviewed React concepts.
 Learnings: Importance of React for building user interfaces.
 Practice: Developed a simple weather app using React and API data.
Week 4: Final Projects and Professional Development
Day 22: CSS Frameworks
 Activities: Introduced Bootstrap for styling.
 Learnings: How to use a CSS framework for rapid design.
 Practice: Redesigned the portfolio page using Bootstrap.
Day 23: Responsive Design with Bootstrap
 Activities: Explored Bootstrap's grid system.
 Learnings: How to create responsive layouts easily.
 Practice: Improved the weather app layout for mobile devices.
Day 24: Advanced React Patterns
 Activities: Studied context API and custom hooks.
 Learnings: Managing global state in React.
 Practice: Refactored the weather app to use context for state
management.
Day 25: Building a Complete Application
 Activities: Started a new project: a task management app.
 Learnings: Integrating learned concepts into a larger application.
 Practice: Created components, managed state, and handled user input.
Day 26: Debugging and Testing
 Activities: Learned debugging tools in Chrome and basic testing concepts.
 Learnings: Importance of testing and debugging for quality code.
 Practice: Used Chrome DevTools to debug the task management app.
Day 27: Deployment Basics
 Activities: Explored deployment options (Netlify, GitHub Pages).
 Learnings: How to deploy web applications online.
 Practice: Deployed the task management app to Netlify.
Day 28: Portfolio Enhancement
 Activities: Reviewed and polished my portfolio.
 Learnings: Importance of presenting work professionally.
 Practice: Added new projects and improved design.
Day 29: Job Search Preparation
 Activities: Researched frontend job roles and requirements.
 Learnings: Key skills employers look for.
 Practice: Prepared my resume and cover letter.
Day 30: Final Review and Reflection
 Activities: Reviewed all learned concepts.
 Learnings: Importance of continuous learning and practice.
 Practice: Set goals for the next few months (advanced topics, contributing
to open-source).

Detailed Day Experience: Day 12 - DOM Manipulation


Activities:
On Day 12, I focused on learning how to manipulate the Document Object Model
(DOM) using JavaScript. I started the day by reviewing the concept of the DOM
and how it represents the structure of a webpage. I understood that each HTML
element can be accessed and modified through JavaScript, allowing for dynamic
interactivity.
Learning:
I learned the basic DOM methods such as getElementById(), querySelector(), and
createElement(). These methods enable you to select elements, create new ones,
and modify existing ones. The day’s goal was to build a simple interactive to-do
list.
Implementation Steps:
1. Setting Up the HTML: I created a basic HTML structure with an input
field for the task, a button to add the task, and an unordered list to display
the tasks.
html
Kodu kopyala
<div>
<input type="text" id="taskInput" placeholder="Add a new task">
<button id="addTaskButton">Add Task</button>
<ul id="taskList"></ul>
</div>
2. Creating the JavaScript: Next, I wrote the JavaScript to handle the
interaction. I started by selecting the input field and the button using
getElementById(). Then, I added an event listener to the button to listen
for click events.
javascript
Kodu kopyala
const taskInput = document.getElementById('taskInput');
const addTaskButton = document.getElementById('addTaskButton');
const taskList = document.getElementById('taskList');

addTaskButton.addEventListener('click', function() {
const taskText = taskInput.value;
if (taskText) {
const listItem = document.createElement('li');
listItem.textContent = taskText;
taskList.appendChild(listItem);
taskInput.value = ''; // Clear the input field
}
});
3. Testing the Functionality: After implementing the code, I tested the
functionality by adding several tasks. Each time I clicked the "Add Task"
button, the input value was added to the list. I made sure to clear the input
field after adding the task, which enhanced user experience.
4. Adding Styles: To make the to-do list visually appealing, I added some
CSS to style the input field, button, and list items. I learned about the box
model and how padding and margins affect layout.
css
Kodu kopyala
#taskInput {
margin: 10px 0;
padding: 10px;
width: 200px;
}

#addTaskButton {
padding: 10px;
}

#taskList {
list-style-type: none;
}

#taskList li {
margin: 5px 0;
padding: 5px;
border: 1px solid #ccc;
}
Reflection:
By the end of Day 12, I felt a sense of accomplishment. I had successfully created
an interactive feature that utilized key JavaScript concepts. This experience
solidified my understanding of how the DOM works and the practical application
of JavaScript in making web pages dynamic. I was excited to continue building
more complex projects in the following days.

You might also like