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.