CodeClip is a lightweight, fully client-side web app that lets developers store, solve, run, and share coding challenges directly in the browser. Built with vanilla HTML, CSS, and JavaScript, it is ideal for first-time open-source contributors and is being developed under GirlScript Summer of Code (GSSoC).
| Category | Feature | Status | 
|---|---|---|
| Core Vault | Challenge repository with tags, difficulty, and search | 🛠 Planned | 
| Playback | In-browser code runner (JS sandbox) with console output | 🛠 Planned | 
| Editor | CodeMirror-based editor with themes, linting, and autosave | 🛠 Planned | 
| Sharing | Public solution links, up-votes, and comments | 🛠 Planned | 
| AI Assist | Challenge recommendations based on user history | 🛠 Planned | 
| Accounts | Local profile, progress tracking, badges | 🛠 Planned | 
| UI / UX | Dark-light theme switcher, mobile-first layout | 🛠 Planned | 
| Accessibility | WCAG-compliant color palette & keyboard nav | 🛠 Planned | 
| DevOps | GitHub Pages deploy, CI linting, unit tests | 🛠 Planned | 
Client (Browser) ────────────────────────────────────────────┐
│                                                           │
│ 1. UI Layer (HTML + CSS)                                  │
│    • index.html  – Landing / dashboard                    │
│    • pages/        challenges.html, editor.html, …        │
│    • styles/       main.css, components.css, themes.css   │
│                                                           │
│ 2. Logic Layer (ES6 Modules)                              │
│    • app.js       – App bootstrap & router                │
│    • storage.js   – LocalStorage API wrapper              │
│    • challenges.js – Challenge CRUD & filters             │
│    • editor.js    – CodeMirror integration                │
│    • ai.js        – Recommendation engine (future)        │
│    • utils.js     – Helpers                               │
│                                                           │
│ 3. Persistence Layer                                      │
│    • LocalStorage (JSON)                                  │
│    • IndexedDB (future large data)                        │
│                                                           │
└─────────────────────────────────────────────────────────────
Offline-first: All data lives in the browser; no backend required.  
Optional cloud sync can be added later via GitHub OAuth + Gists.
codeclip/
├─ index.html
├─ pages/
│  ├─ challenges.html
│  ├─ editor.html
│  └─ profile.html
├─ styles/
│  ├─ variables.css
│  ├─ main.css
│  ├─ components.css
│  └─ themes.css
├─ scripts/
│  ├─ app.js
│  ├─ storage.js
│  ├─ challenges.js
│  ├─ editor.js
│  ├─ ai.js
│  └─ utils.js
├─ assets/
│  └─ logo.svg
├─ docs/
│  └─ architecture.png
└─ README.md  ← you are here
- 
Clone git clone https://github.com/opensource-society/CodeClip.git cd CodeClip
- 
Run Locally 
 Any static server works; with VS Code:- Install the Live Server extension
- Right-click index.html→ “Open with Live Server”
 
- 
Contribute - Pick an issue labelled Level 1, Level 2, or Level 3.
- Create a feature branch: git checkout -b feat/
- Follow the style guide; submit a pull request; respond to reviews.
 
- Landing & Vault MVP – basic challenge listing 🛠
- Code Editor Integration – CodeMirror + autosave 🛠
- JS Runtime – iframe sandbox, execution timers 🛠
- Profile & Stats – badges, streak calendar 🛠
- AI Recommendations – local ML or hosted API 🛠
- PWA Support – installable, offline cache 🛠
- Unit & E2E Tests – Vitest + Playwright 🛠
Issues are filed chronologically in the /docs/issues.docx for reference.
| Channel | Purpose | 
|---|---|
| GitHub Issues | Bug reports, feature requests | 
| GitHub Discussions | Q&A, ideas, polls | 
| Discord | Real-time chat, pair programming | 
| GSSoC Mentors | Onboarding & code reviews | 
CodeClip is released under the MIT License – free for personal & commercial use with attribution.