#30dayschallenge
My 30-Day Web Development Challenge: A Journey from Beginner to Intermediate
Introduction: Why I Took the Challenge
I had been learning web development in bits and pieces—jumping from HTML to JavaScript, dabbling in React, and struggling with backend concepts. I realized I needed structure, consistency, and real-world application to truly level up. That’s why I created a 30-day challenge to immerse myself in frontend, backend, and full-stack development.
Each day, I followed a strict routine, worked on mini-projects, and documented my progress. By the end, I had built and deployed a full-stack application!
Daily Routine:
Morning (7:00 AM - 9:00 AM):
Read documentation, take notes, and watch short tutorials.
Plan the day’s tasks and outline what I wanted to build.
Daytime (10:00 AM - 4:00 PM):
Implement what I learned through coding exercises.
Work on a personal project that incorporated new skills.
Night (8:00 PM - 10:00 PM):
Revise concepts by solving coding challenges.
Write a short summary of the day's work and plan for the next day.
Week 1: Mastering HTML, CSS, and GitHub
Day 1: HTML Essentials
I started with a deep dive into semantic HTML—learning about article, aside, section, and nav.
✅ Task: Built a basic portfolio page with proper semantic structure.
Day 2: Links & Lists
Explored absolute vs. relative links and anchor tags.
✅ Task: Created a multi-page website using navigation links.
Day 3: Tables & Forms
I designed a registration form and explored form validation.
✅ Task: Built a user sign-up form with validation using HTML attributes.
Day 4: CSS Basics
Dived into selectors, box model, and positioning.
✅ Task: Styled my portfolio website with CSS.
Day 5: Flexbox & Grid
Tried different layouts using Flexbox and CSS Grid.
✅ Task: Created a responsive landing page.
Day 6: Git & GitHub
Learned Git commands—commit, push, pull, branching.
✅ Task: Created a GitHub repository and pushed my portfolio project.
Day 7: Mini Project – Personal Portfolio
Brought everything together in a well-structured, responsive portfolio site.
Week 2: JavaScript & DOM Manipulation
Day 8: JavaScript Basics & The DOM
Revisited variables, functions, and loops before jumping into DOM manipulation.
✅ Task: Built an interactive form where error messages displayed dynamically.
Day 9: Events & Forms Handling
✅ Task: Created a form that prevented submission if fields were empty.
Day 10: Arrays & Objects
Explored array methods (map, filter, reduce) and object manipulation.
✅ Task: Built a simple student grading system using JavaScript.
Day 11: ES6+ Features
Mastered let, const, arrow functions, spread/rest operators.
✅ Task: Refactored older JavaScript code to ES6.
Day 12: Fetch API & Async/Await
✅ Task: Built a search feature that fetched user data from GitHub API.
Day 13: Local Storage
✅ Task: Developed a To-Do List app that saved tasks in local storage.
Day 14: Mini Project – JavaScript Game
✅ Task: Built a simple Tic-Tac-Toe game using JavaScript.
Week 3: React.js Fundamentals
Day 15: React Setup & JSX
Installed React, explored components and JSX.
✅ Task: Created my first React component.
Day 16: Props & State
✅ Task: Built a counter app that increased/decreased values using state.
Day 17: Handling Events & Forms in React
✅ Task: Built a simple calculator using React.
Day 18: React Router
✅ Task: Created a multi-page React app using react-router-dom.
Day 19: API Integration in React
✅ Task: Built a weather app that fetched data from an API.
Day 20: React Hooks & Context API
✅ Task: Used useState, useEffect, and useContext to manage state.
Day 21: Mini Project – Weather App
✅ Task: Built a fully responsive React Weather App.
Week 4: Full-Stack Development
Day 22: Node.js & Express.js
✅ Task: Set up an Express server and created a simple API.
Day 23: MongoDB & Mongoose
✅ Task: Connected the server to MongoDB and performed CRUD operations.
Day 24: Authentication with JWT
✅ Task: Implemented user authentication using JWT and bcrypt.
Day 25: Full-Stack Integration
✅ Task: Connected my React frontend to the Node.js backend.
Day 26: Testing & Debugging
✅ Task: Used Postman to test APIs and fixed bugs.
Day 27: Deployment (Vercel, Netlify, Heroku)
✅ Task: Deployed my full-stack project online.
Day 28-30: Final Project – Task Manager App
I wrapped up the challenge with a Task Manager App that allowed users to:
✅ Sign up and log in
✅ Add, edit, and delete tasks
✅ Store data in MongoDB
✅ Deploy it to Heroku and Netlify
Key Takeaways from the Challenge
✅ Consistency is key – I coded every day for 30 days and saw major improvements.
✅ Building projects > Watching tutorials – Applying concepts through projects helped solidify my knowledge.
✅ Documentation is powerful – I relied on MDN, React docs, and Express.js documentation.
✅ GitHub is essential – Managing versions and pushing code helped track progress.
Final Thoughts: Where I Stand Now
This challenge transformed me from a beginner who only knew basic HTML and CSS to someone who can now:
✅ Build full-stack applications
✅ Work with APIs and databases
✅ Deploy projects online
Now, I’m confident enough to apply for web development jobs, contribute to open-source, and take on freelance projects.
Would I do this again? Absolutely! But next time, I’ll focus on advanced React, TypeScript, and Next.js.
This was my 30-day journey from beginner to intermediate developer!!!
Thanks for listening 🤩🤩
Comments
Post a Comment