Skip to content

Latest commit

 

History

History
239 lines (153 loc) · 5.41 KB

File metadata and controls

239 lines (153 loc) · 5.41 KB

🚀 Open Source Practice Lab

Learn Open Source by Contributing — Not by Watching Tutorials

A beginner-friendly open source repository designed to help developers learn real GitHub contribution workflows by solving practical, well-structured tasks across multiple technologies.

⭐ If this repository helps you, please consider starring it so more learners can discover it.

GitHub stars GitHub forks GitHub issues PRs Welcome Beginner Friendly License


📌 What Is This Repository?

Open Source Practice Lab is a beginner-friendly open source repository designed for students and early‑career developers who want to:

  • Learn how open source actually works
  • Practice real GitHub workflows (Fork → Branch → Commit → PR → Review)
  • Improve programming skills using hands-on tasks
  • Build confidence before contributing to large production repositories

👉 No permission or assignment required. If an issue is open, you can start working on it.


👥 Who Is This For?

This repository is perfect for:

  • Beginners making their first open source contribution
  • Students looking for real GitHub experience
  • Developers who feel nervous contributing to large repositories
  • Anyone practicing Git, GitHub, and collaboration workflows

No prior open source experience is required.


🧠 Technologies & Languages Covered

The repository currently includes open source practice tasks for:

  • HTML – structure and semantic markup
  • CSS – layouts, responsiveness, and styling
  • JavaScript – logic, arrays, functions, and utilities
  • React – components, hooks, and state management
  • Python – logic building, file handling, and CLI basics
  • C++ – data structures and problem solving (DSA)

Each technology is organized by difficulty level:

  • easy
  • medium
  • hard

More technologies and tasks will be added over time.


📂 Repository Structure

tasks/
├── html/
├── css/
├── javascript/
├── react/
├── python/
└── cpp/

Each technology folder contains:

easy/
medium/
hard/

Each task file includes:

  • A clear problem statement
  • TODO instructions
  • Sample input/output (where applicable)

⚡ Quick Start

  1. Fork this repository
  2. Clone your fork locally
  3. Create a new branch
  4. Solve one task of your choice
  5. Commit your changes
  6. Open a Pull Request 🚀

That’s it — welcome to open source.


🛠 Setup Instructions

1️⃣ Fork the Repository

Click the Fork button at the top‑right of this page.

2️⃣ Clone Your Fork

git clone https://github.com/<your-username>/Open-Source-Practice-Lab.git
cd Open-Source-Practice-Lab

3️⃣ Create a New Branch

git checkout -b solve-task-name

🔁 Always create a new branch for each task.


🧩 Choosing a Task

  1. Open the tasks/ folder
  2. Select a technology
  3. Choose a difficulty level
  4. Open any task file
  5. Read the instructions inside the file

💡 Tasks are also tracked as GitHub Issues for easier discovery.


📤 Submitting Your Contribution

After completing a task:

git add .
git commit -m "Solve: <task-name>"
git push origin solve-task-name

Then:

  • Go to your fork on GitHub
  • Click Compare & Pull Request
  • Add a short description of what you solved
  • Submit the PR

Wait for review and feedback.


📏 Contribution Rules

  • One task per Pull Request
  • Do not modify unrelated files
  • Do not delete task instructions
  • Keep code clean and readable
  • Be respectful in discussions

PRs that don’t follow these rules may be requested for changes.


🔄 What Happens After Merge?

  • Your PR will be merged into the main branch
  • The task remains solved for future learners to study
  • Your contribution stays visible on GitHub

This repository does not reset tasks — it grows as a learning archive.


🧠 Learning Goals

By contributing here, you will practice:

  • Git & GitHub fundamentals
  • Reading and understanding requirements
  • Writing clean, scoped code
  • Collaborating through PR reviews
  • Open source etiquette

These are real industry‑relevant skills.


🌱 Creating New Tasks

Want to help others learn?

You’re welcome to:

  • Add new tasks
  • Propose new technologies
  • Improve task descriptions

Please open a Pull Request with clear details about the task and difficulty.


👤 Maintainer

Abhishek Yadav 📧 Contact: 2516abhi43@gmail.com

If you’re a beginner and feel nervous — this repository is built for you. Start small. Learn by doing.


📄 License

This project is licensed under the MIT License.


Build skills. Build confidence. Build open source habits.