Una plataforma para ayudar a desarrolladores junior a contribuir en proyectos open source reales
Junior Dev Open Source es una plataforma diseñada para facilitar que desarrolladores junior puedan contribuir a proyectos open source reales.
Muchos desarrolladores principiantes quieren participar en open source pero se encuentran con varios problemas:
- No saben por dónde empezar
- Los repositorios son demasiado complejos
- No encuentran issues o tareas adaptadas a su nivel
- No saben cómo contactar con maintainers
Esta plataforma resuelve ese problema creando un hub de contribuciones guiadas.
Los desarrolladores pueden:
- descubrir proyectos open source
- explorar tareas disponibles
- solicitar una tarea
- ser aprobados por maintainers
- contribuir a repositorios reales
El flujo de la plataforma es el siguiente:
Descubrir proyecto
↓
Explorar tareas
↓
Solicitar una tarea
↓
Maintainer revisa la solicitud
↓
Solicitud aprobada
↓
El developer contribuye al proyecto- Login con GitHub OAuth
- Creación automática de perfil de usuario
Explorar proyectos open source disponibles incluyendo:
- descripción del proyecto
- tecnologías utilizadas
- enlace al repositorio
Cada proyecto contiene tareas con información como:
- nivel de dificultad
- descripción
- etiquetas (labels)
- enlace a una issue de GitHub
Los desarrolladores pueden solicitar trabajar en una tarea.
Un maintainer revisará la solicitud y podrá:
- aprobarla
- rechazarla
Cada usuario tiene acceso a:
Tareas que han sido asignadas al usuario.
Lista de solicitudes enviadas y su estado:
- pendiente
- aprobada
- rechazada
- cancelada
Los maintainers del proyecto pueden:
- crear proyectos
- editar proyectos
- crear tareas
- editar tareas
- revisar solicitudes
- aprobar o rechazar solicitudes
Explora proyectos open source disponibles en la plataforma.
Cada tarea muestra:
- dificultad
- etiquetas
- descripción
- enlace a issue de GitHub
El developer envía una solicitud para trabajar en una tarea.
El maintainer revisa la solicitud y decide si aprobar o rechazar.
Si se aprueba:
- la tarea pasa a estado assigned
- el developer puede empezar a trabajar
- Next.js (App Router)
- React Server Components
- TailwindCSS
- Supabase
- PostgreSQL
- Row Level Security
- GitHub OAuth
Tablas principales utilizadas por la plataforma:
profiles
projects
tasks
task_requestsRelaciones principales:
projects → contienen tareas
tasks → reciben solicitudes
task_requests → solicitudes enviadas por usuariossrc
├ 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-neededgit clone https://github.com/tu-repo/junior-dev-open-source.git
cd junior-dev-open-sourcenpm installCrear un archivo .env.local:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=npm run devLa aplicación estará disponible en:
http://localhost:3000- Autenticación con GitHub
- Perfiles de usuario
- Listado de proyectos
- Gestión de tareas
- Solicitudes de tareas
- Sistema de aprobación por maintainers
- Integración directa con GitHub Issues
- Sistema de notificaciones
- Ranking de contributors
- Mejor onboarding para desarrolladores junior
- Invitaciones automáticas a repositorios
Las contribuciones son bienvenidas.
Pasos para contribuir:
-
Haz un fork del repositorio
-
Crea una nueva rama
git checkout -b feature/nueva-funcionalidad-
Realiza los cambios
-
Haz commit
git commit -m "feat: nueva funcionalidad"- Sube la rama
git push origin feature/nueva-funcionalidad- Abre un Pull Request
El objetivo es crear una plataforma de referencia para contribuir a open source en español.
Un lugar donde los desarrolladores junior puedan:
- aprender
- colaborar
- ganar experiencia real
- construir portfolio
Este proyecto está bajo licencia MIT.