Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2,722 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CI


A complete Open Source Learning Platform designed to help beginners confidently transition from zero to real open-source contributions.

Live Demo Backend API

GitHub Stars GitHub Forks GitHub Issues GitHub PRs License

CI Checks React Django TypeScript Tailwind Docker


๐Ÿ† ECSoC 2026 Program & Quick Links

ECSoC 2026 Active Leaderboard

Welcome to ECSoC 2026 at Open-Source Contribution Atelier! Please review our program guides before contributing:


โœจ Features

Feature Description
๐ŸŽฎ Gamified Curriculum 8 core modules going from mindset basics to advanced conflict resolution
๐Ÿ“ Interactive Quizzes Multiple-choice testing dashboards with instant feedback
๐Ÿ… Badges Cabinet Earn milestone rewards mapping directly to module progress
๐Ÿ“œ Printable Certificates Gorgeous A4 neobrutalist certificate with verification hashes
๐Ÿ† Hall of Fame Cohort stats, active streak calendars, and GitHub contributor recognition
๐Ÿ“– Markdown-Driven Content Lessons are parsed dynamically โ€” adding content requires zero code changes
๐Ÿ’ฌ Real-Time Community Chat End-to-end encrypted WebSocket chat with typing indicators
๐Ÿ‘ฅ Peer Review System Submit code for review and earn XP by reviewing others
๐Ÿ” Interactive Sandbox Git terminal emulator with autocomplete and command replay

๐Ÿ› ๏ธ Technical Stack

โšก Frontend

React 19 ยท TypeScript ยท Vite ยท Tailwind CSS
React Router 7 ยท TanStack React Query ยท Redux Toolkit

๐Ÿ”ง Backend

Django 5.0 ยท Django REST Framework ยท Simple JWT
Django Channels ยท Celery ยท Redis ยท PostgreSQL

โ˜๏ธ Deployment

Vercel (Frontend) ยท Hugging Face (Backend API)
Neon (PostgreSQL) ยท Upstash (Redis)

๐Ÿงช Testing & CI

Vitest ยท Playwright ยท Pytest
GitHub Actions CI ยท ESLint ยท Prettier ยท Black


๐Ÿš€ Quick Start (Local Development)

1. Setup Environment

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env

Windows users: If cp is unavailable in PowerShell, use:

Copy-Item backend/.env.example backend/.env
Copy-Item frontend/.env.example frontend/.env

Warning

Google OAuth login requires a valid VITE_GOOGLE_CLIENT_ID in frontend/.env. Create credentials in the Google Cloud Console with authorized redirect URIs set to http://localhost:5173.

Warning

GitHub OAuth login requires GitHub OAuth credentials.

  1. Go to GitHub OAuth Apps Settings
  2. Click "OAuth Apps" โ†’ "New OAuth App"
  3. Fill in:
    • Application name: Open Source Contribution Atelier
    • Homepage URL: http://localhost:8000
    • Authorization callback URL: http://localhost:8000/accounts/github/login/callback/
  4. Copy Client ID and Client Secret to backend/.env:
    GITHUB_CLIENT_ID=your_client_id
    GITHUB_CLIENT_SECRET=your_client_secret
    

2. Run the Backend (Django)

Ensure Python 3.9+ is installed.

cd backend
python -m venv .venv

# macOS/Linux
source .venv/bin/activate

# Windows PowerShell
.\.venv\Scripts\Activate.ps1

# Windows Command Prompt
.\.venv\Scripts\activate.bat

pip install -r requirements.txt

# Setup the local SQLite database
python manage.py migrate
python manage.py seed_lessons
python manage.py seed_dashboard

# Start the server
python manage.py runserver
  • API: http://localhost:8000/api/

3. Run the Frontend (React + Vite)

Ensure you are using Node 20+.

cd frontend
npm install
npm run dev
  • SPA: http://localhost:5173/

๐Ÿณ Docker (Full Stack)

Spin up the entire stack (Postgres, Redis, Django backend, Celery worker, Vite frontend) with a single command:

docker compose up --build

This boots:

Service URL Description
postgres localhost:5432 Database
redis localhost:6379 Celery broker + Channels cache
backend http://localhost:8000/api/ Django REST API with hot-reload
celery_worker โ€” Background task processor for email notifications
frontend http://localhost:5173/ Vite dev server with hot-reload

If you hit any setup issues, see TROUBLESHOOTING.md.

Tip

The Celery worker mounts the codebase as a volume (./services/notifications_worker:/app), so code changes take effect immediately without rebuilding the image. Restart the worker with docker compose restart celery_worker after editing worker.py.

Environment Variables

The Docker backend reads these environment variables automatically. You can override them in docker-compose.yml or via a .env file:

cp backend/.env.example backend/.env

Windows users: If cp is unavailable in PowerShell, use:

Copy-Item backend/.env.example backend/.env

Key variables for Docker:

Variable Default Notes
DATABASE_URL postgres://atelier:atelier@postgres:5432/atelier Auto-configured
REDIS_URL redis://redis:6379/0 Auto-configured
DEBUG True Development mode

โ˜๏ธ Deployment (Vercel)

This project is fully configured to be deployed on Vercel as a monorepo.

  1. Import the repository into your Vercel dashboard.
  2. Vercel will automatically detect the configuration in vercel.json and deploy both the Vite frontend and the Django backend as a serverless API.
  3. Ensure you add all backend environment variables (from backend/.env.example) into your Vercel project settings.

๐Ÿง‘โ€๐Ÿ’ป Contributing

We welcome contributions of all levels and long-term participation!

Important

Before requesting an issue, please read the pinned guide issues on the Issues tab to understand the keyword assignment rules, CI checks, and the 3-day stale policy.

Quick Links

Resource Description
๐Ÿ“‹ CONTRIBUTING.md Forking, branching guidelines, commit conventions, and review cycles
๐Ÿ’ฌ CODE_OF_CONDUCT.md Community participation guidelines
๐Ÿ”’ SECURITY.md Responsible vulnerability disclosure policy
๐Ÿ“– Content Guide How to add lessons, modules, and quizzes (zero code changes!)

๐Ÿค Contributors

Thanks to all the amazing people who have contributed to this project! ๐Ÿ’œ


Want to see your avatar here? Check the Contributing Guide and pick an issue to get started!


๐Ÿ’– Support the Project

If you find this project helpful, please consider giving it a โญ star on GitHub!

Star this repo Fork this repo Sponsor

About

A full-stack learning and operations platform for teaching open source contribution from beginner to advanced levels

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages