{"id":32566898,"url":"https://github.com/archismwanchatterjee/code_playground","last_synced_at":"2026-04-07T21:31:35.239Z","repository":{"id":301329793,"uuid":"1008893074","full_name":"ArchismwanChatterjee/code_playground","owner":"ArchismwanChatterjee","description":"SQL/Python/Js/C playground","archived":false,"fork":false,"pushed_at":"2025-06-26T09:37:29.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-29T05:42:58.205Z","etag":null,"topics":["c","docker","javascript","nodejs","python","sql"],"latest_commit_sha":null,"homepage":"https://code-playground-9nln.onrender.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArchismwanChatterjee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-26T08:55:01.000Z","updated_at":"2025-09-12T05:44:41.000Z","dependencies_parsed_at":"2025-06-26T10:36:57.584Z","dependency_job_id":null,"html_url":"https://github.com/ArchismwanChatterjee/code_playground","commit_stats":null,"previous_names":["archismwanchatterjee/code_playground"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ArchismwanChatterjee/code_playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchismwanChatterjee%2Fcode_playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchismwanChatterjee%2Fcode_playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchismwanChatterjee%2Fcode_playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchismwanChatterjee%2Fcode_playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArchismwanChatterjee","download_url":"https://codeload.github.com/ArchismwanChatterjee/code_playground/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchismwanChatterjee%2Fcode_playground/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31530641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","docker","javascript","nodejs","python","sql"],"created_at":"2025-10-29T05:29:53.704Z","updated_at":"2026-04-07T21:31:35.231Z","avatar_url":"https://github.com/ArchismwanChatterjee.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Code Playground\n\nThis project is an interactive playground for exploring and learning SQL, Python, JavaScript, and C code execution in a user-friendly web interface. It is designed to help users experiment with queries and code snippets, view results instantly, and manage multiple playgrounds with ease.\n\nDeployed with Railway and Render using the dockerfile try it out here : [Link1](https://codeplayground-production.up.railway.app/) and [Link2](https://code-playground-9nln.onrender.com/)\n\n## Why This Project?\n\nThis project is a hands-on exploration of how modern code execution platforms like Replit, Jupyter, or SQLFiddle work under the hood. My goal was to build a secure, browser-based environment where users can write and execute code in Python, JavaScript, SQL, and C, seeing results instantly.\n\n### At its core, this playground combines:\n\n**Language-specific execution layers:**\n\n- **Python** via `subprocess` and [Pyodide](https://pyodide.org/) (for in-browser fallback)\n- **SQL** using `SQLite.js` with preloaded tables like `users(id, name)` and `orders(id, user_id, amount)`\n- **JavaScript** via the V8 engine or Node.js sandbox\n- **C** code compiled and executed using `gcc` inside a Docker container\n\n**Containerized sandboxing:**\n\nAll user-submitted code is executed in isolated Docker containers to ensure safe execution, memory limits, and timeout control—preventing access to the host system and other processes.\n\n**Persistent workspace support:**\n\nEach playground session maintains its own code and query history via `localStorage`, with potential extension to Redis/PostgreSQL for server-side persistence.\n\n## Features\n\n- **Multi-language Support:** Run and test SQL, Python, JavaScript, and C code.\n- **Sample Data:** Each SQL playground comes with pre-populated sample tables (`users`, `orders`) for easy experimentation.\n- **Query \u0026 Code History:** Automatically saves your query/code history for each playground.\n- **Multiple Playgrounds:** Create, rename, and delete separate playgrounds for different experiments.\n- **Instant Results:** View execution results, including tables and output, directly in the browser.\n- **Responsive UI:** Built with Next.js, Tailwind CSS, and Radix UI for a modern, responsive experience.\n\n## Getting Started\n\n1. **Install dependencies:**\n   ```sh\n   npm install\n   ```\n2. **Run the development server:**\n   ```sh\n   npm run dev\n   ```\n3. **Open your browser:**  \n   Visit [http://localhost:3000](http://localhost:3000) to start exploring!\n\n## Project Structure\n\n- `app/` – Main Next.js app, pages, and global styles\n- `components/` – UI components (sidebar, buttons, cards, etc.)\n- `hooks/` – Custom React hooks\n- `lib/` – Utility functions\n- `public/` – Static assets\n- `styles/` – Additional global styles\n\n## Contributing\n\nContributions are welcome! Feel free to open issues or submit pull requests to improve the playground.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchismwanchatterjee%2Fcode_playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchismwanchatterjee%2Fcode_playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchismwanchatterjee%2Fcode_playground/lists"}