Skip to content

MiPrimerIssue/web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Junior Dev Open Source

A platform to help junior developers contribute to real open source projects

Next.js Supabase TailwindCSS Postgres MIT License


🌍 Overview

Junior Dev Open Source is a platform designed to make contributing to open source accessible for junior developers.

Many beginners want to contribute but struggle with:

  • Finding beginner-friendly issues
  • Understanding complex repositories
  • Knowing how to contact maintainers
  • Getting their first contribution accepted

This platform solves that by creating a guided open source contribution hub.

Developers can:

  • Discover open source projects
  • Browse available tasks
  • Request to work on a task
  • Get approved by maintainers
  • Contribute to real repositories

βš™οΈ How It Works

Discover project
↓
Explore tasks
↓
Request a task
↓
Maintainer reviews request
↓
Task approved
↓
Developer contributes

✨ Features

πŸ” Authentication

  • GitHub OAuth login
  • Automatic profile creation

πŸ“¦ Projects

Explore real open source projects including:

  • project description
  • tech stack
  • repository links

🧠 Tasks

Each project contains tasks with:

  • difficulty level
  • description
  • labels
  • GitHub issue links

βœ‹ Task Requests

Developers can request tasks.

Maintainers review the request and decide whether to:

  • approve
  • reject

πŸ“Š Personal Dashboard

Each user has access to:

My Tasks

Tasks assigned to the developer.

My Requests

Requests submitted and their status.


πŸ›  Maintainer Dashboard

Project maintainers can:

  • create projects
  • edit projects
  • create tasks
  • edit tasks
  • review task requests
  • approve or reject contributions

πŸ–₯ Example Workflow

1️⃣ Developer finds a project

Browse open source projects available on the platform.


2️⃣ Developer explores tasks

Tasks contain information such as:

  • difficulty
  • labels
  • GitHub issue

3️⃣ Developer requests a task

The developer submits a request to work on a task.


4️⃣ Maintainer reviews the request

Maintainers review and approve or reject.


5️⃣ Task gets assigned

If approved:

  • task status becomes assigned
  • developer starts working

πŸ›  Tech Stack

Frontend

  • Next.js (App Router)
  • React Server Components
  • TailwindCSS

Backend

  • Supabase
  • PostgreSQL
  • Row Level Security

Authentication

  • GitHub OAuth

πŸ—„ Database Schema

Main tables used by the platform:

profiles
projects
tasks
task_requests

Relationships:

projects β†’ contain tasks
tasks β†’ receive task requests
task_requests β†’ submitted by users

πŸ“‚ Project Structure

src
 β”œ app
 β”‚  β”œ projects
 β”‚  β”‚  β”œ page.tsx
 β”‚  β”‚  β”” [slug]/page.tsx
 β”‚  β”œ tasks
 β”‚  β”‚  β”” [id]/page.tsx
 β”‚  β”œ dashboard
 β”‚  β”‚  β”œ page.tsx
 β”‚  β”‚  β”œ requests
 β”‚  β”‚  β”œ my-requests
 β”‚  β”‚  β”œ my-tasks
 β”‚  β”‚  β”œ projects
 β”‚  β”‚  β”‚  β”œ new
 β”‚  β”‚  β”‚  β”” [id]/edit
 β”‚  β”‚  β”” tasks
 β”‚  β”‚     β”œ new
 β”‚  β”‚     β”” [id]/edit
 β”‚
 β”œ components
 β”‚  β”œ navbar
 β”‚  β”œ project-card
 β”‚  β”œ task-card
 β”‚  β”” request-task-form
 β”‚
 β”” lib
    β”œ supabase
    β”” create-profile-if-needed

πŸš€ Getting Started

1️⃣ Clone the repository

git clone https://github.com/your-repo/junior-dev-open-source.git
cd junior-dev-open-source

2️⃣ Install dependencies

npm install

3️⃣ Configure environment variables

Create a .env.local file:

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=

4️⃣ Run the development server

npm run dev

The application will run at:

http://localhost:3000

πŸ—Ί Roadmap

MVP

  • GitHub authentication
  • User profiles
  • Projects listing
  • Task management
  • Task requests
  • Maintainer approval system

Future Improvements

  • GitHub issue integration
  • Notifications system
  • Contributor leaderboard
  • Better onboarding for beginners
  • Automated repository invitations

🀝 Contributing

Contributions are welcome.

Steps to contribute:

  1. Fork the repository

  2. Create a branch

git checkout -b feature/my-feature
  1. Commit your changes
git commit -m "feat: add new feature"
  1. Push your branch
git push origin feature/my-feature
  1. Open a Pull Request

🎯 Vision

The goal is to create a central hub for Spanish-speaking developers to contribute to open source.

A place where juniors can:

  • learn
  • collaborate
  • build real experience

πŸ“„ License

MIT License

About

Platform that helps junior developers find their first issue in open source projects.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors