DEV Community

Taha Mirza
Taha Mirza

Posted on

How to Become a Full-Stack Developer by Contributing to a Real Open Source Project (No Experience Needed)

Most people trying to learn full-stack development get stuck in the same loop: watch a tutorial, follow along, feel like you understand it, then open a blank project and realize you don't actually know how to build anything on your own.

The fix isn't more tutorials. It's contributing to a real, running codebase, with real users, where you have to actually understand what you're doing before you can ship anything.

That's what this post is about.

What Torbit Is

Torbit is a carpooling platform I built for my university, FAST-NUCES, to help students find a recurring commute partner and split fuel costs. It's not an on-demand ride app like Uber or InDrive, where you request a ride each time. It's closer to finding a carpool buddy for the semester: match once with someone on your route, then share the ride regularly.

It's already crossed 100+ real users. And it's now fully open source.

The long-term goal is bigger than one campus: build the platform every university student in Pakistan uses for campus commuting.

The Tech Stack (PERN)

Torbit is built on the PERN stack, a common and highly learnable combination for full-stack web development:

  • PostgreSQL — the relational database storing users, ride offers, and matches
  • Express.js — the backend REST API framework running on Node.js
  • React — the frontend UI library
  • Node.js — the JavaScript runtime powering the backend

We're also migrating the backend from raw SQL queries to Prisma ORM, which is a great learning opportunity if you've never worked with an ORM before.

If you already know this stack, or want to learn it properly by using it, this is a good place to do that.

The Problem With Most Open Source Projects (For Beginners)

Here's the thing most maintainers don't say out loud: most open source projects assume you already know how to code. The README explains what the project does, not how full-stack development actually works. If you're new, that gap is exactly where most people give up.

So instead of just opening issues and hoping beginners figure it out, we built an actual onboarding path.

The Beginner Path We Built

Before touching any real Torbit code, new contributors go through a structured, guided flow:

1. A concepts primer. What full-stack actually means, how the frontend and backend communicate over HTTP, what a REST API is, why databases exist, and why we use an ORM like Prisma instead of writing raw SQL by hand.

2. A Git and GitHub primer. Not just "here are the commands," but what each one actually does: git init, add, commit, branch, push, and the full fork → branch → pull request → merge workflow that every real engineering team uses.

3. A guided first project. Before anyone touches the real Torbit codebase, they build a small Todo app using the exact same stack: React, Express, Prisma, PostgreSQL, with a full CRUD API (Create, Read, Update, Delete). Docker Compose spins up Postgres locally in minutes. Every step has a clear "done when" condition, so nobody's left guessing whether they did it right.

4. Submission through the normal open source flow. They push their project to a public repo, record a short screen recording, and comment on a pinned onboarding issue, practicing the exact same visibility and workflow habits they'll use on real contributions later.

Only after that do people move to actual Torbit issues, tagged by difficulty, with acceptance criteria and clear scope so a first real PR doesn't feel like guessing in the dark.

Why This Matters If You're Trying to Break Into Tech

If you're a student or self-taught developer trying to get real, resume-worthy experience before your first internship, this is exactly the gap open source can fill:

  • You work in an actual codebase with existing conventions, not a green-field toy project
  • You practice the real git workflow, branching, PRs, code review, not just git add . && git commit -m "update" on your own repo
  • Your merged PRs are public, permanent proof of real contribution, something a tutorial certificate can't offer
  • You learn to get unstuck and ask good questions, which is a bigger part of the job than most tutorials teach

Your onboarding pipeline for Torbit is incredibly well-structured—having a guided "first steps" path with a Todo app and a simple contributor list PR is a fantastic way to bridge the gap for beginners.

How to Get Started

Getting involved is designed to be a step-by-step process so you never feel lost. Here is exactly what you need to do:

  1. Visit and Star the Repo: Head over to the torbit-backend repository and give it a star to show your support and keep track of updates.
  2. Read the Documentation: Before touching any code, take the time to read the README.md, CONTRIBUTING.md, and HOW_TO_START.md files. These are your blueprints for the project.
  3. Set Up Your Environment: Follow the step-by-step instructions in those documents to set up the codebase and get the environment running locally on your machine.
  4. Knock Out Issue #1 (The Quick Win): Start with Issue #1—a simple task where you just add your name to the project's contributor list. This gets you comfortable with the fork, branch, and pull request workflow.
  5. Tackle Issue #2 (The Guided Project): Build the guided full-stack PERN Todo app. Once you have it working, drop the link to your repository and a short screen recording of it in action on the issue thread.
  6. Explore and Contribute: With the fundamentals down, you are ready for the real thing. Explore the codebase, stay active daily, pick up real issues tagged by difficulty, and start shipping actual features!

No prior open-source experience is required. Just the willingness to get stuck on something and work through it.

If you're building something similar for your own community, or you contribute and want to share how it went, drop a comment. Always happy to compare notes on making open-source actually approachable for people just starting out.

Top comments (0)