📚 Technical Documentation

Complete guide to the 100 Days of Web Development challenge

Getting Started

Setup and first steps

Project Structure

Understand the codebase

Contributing

Join the community

FAQ

Common questions

📑 Table of Contents

Getting Started

Prerequisites

Before you begin, make sure you have the following installed:

Installation

Clone the repository to get started:

git clone https://github.com/Shubham-cyber-prog/100-Days-Of-Web-Development.git
cd 100-Days-Of-Web-Development

Running Locally

You can run this project in several ways:

  1. Using Live Server (VS Code): Install the Live Server extension and click "Go Live"
  2. Using Python: python -m http.server 8000
  3. Using Node.js: npx http-server
  4. Direct File Open: Open index.html in your browser
💡 Tip: For the best experience, use a local server to avoid CORS issues with some projects.

Project Structure

Understanding the project organization:

100-Days-Of-Web-Development/
├── public/
│ ├── Day 01/
│ ├── Day 02/
│ └── ... (100 daily projects)
├── website/
│ ├── pages/ # Dashboard, projects, etc.
│ ├── styles/ # Global CSS files
│ ├── scripts/ # JavaScript modules
│ └── assets/ # Images, icons, etc.
├── README.md
├── CONTRIBUTING.md
└── CODE_OF_CONDUCT.md

Key Directories

Daily Challenges

Challenge Structure

Each day's project follows a consistent structure:

Difficulty Levels

Adding a New Day

To add your own day's project:

  1. Create a new folder: public/Day XX/
  2. Add your HTML, CSS, and JS files
  3. Update the project metadata in scripts/pages/projects.js
  4. Submit a pull request

Contributing Guidelines

We welcome contributions from developers of all skill levels! Here's how you can contribute:

Ways to Contribute

Contribution Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes
  4. Commit with clear messages: git commit -m "feat: add new feature"
  5. Push to your fork: git push origin feature/your-feature
  6. Open a Pull Request
📖 Read More: Check out our CONTRIBUTING.md for detailed guidelines.

Tech Stack

Frontend Technologies

Design System

No Build Tools Required

This project uses vanilla web technologies without any build process or framework dependencies. This makes it:

Frequently Asked Questions

Do I need to complete all 100 days?

Not at all! Start wherever you feel comfortable. You can pick and choose projects based on your interests and skill level.

Can I use frameworks like React or Vue?

This challenge focuses on vanilla JavaScript to build strong fundamentals. However, you're welcome to create framework versions as bonus projects!

How do I track my progress?

Use the interactive dashboard that includes a heatmap visualization to track your daily commits and progress.

What if I miss a day?

No problem! This isn't a strict daily challenge. Learn at your own pace and complete projects when you can.

Can I modify existing projects?

Absolutely! Feel free to enhance, redesign, or expand any project. Just make sure to submit a PR if you'd like to contribute back.

Is this suitable for complete beginners?

Yes! The projects start with beginner-friendly HTML/CSS and gradually introduce JavaScript concepts. Some programming knowledge is helpful but not required.

How can I get help?

Join our Discord community or open an issue on GitHub. The community is friendly and always ready to help!