A powerful, full-stack playground and documentation hub for the Tharunpp esoteric language made inspired by famous tamil words and dialogues. This project provides a robust browser-based IDE to write, execute, and share Tharunpp code instantly.
Check out the live playground: tharunkumar.dev/tharunpp
- Interactive IDE: Monaco editor with custom syntax highlighting for Tharunpp keywords.
- Light / Dark Mode: Toggle between dark and light themes, persisted across sessions via
localStorage. - Built-in Examples: 6 predefined example programs (Hello World → Lists → Error Handling) accessible via a dropdown.
- Live Code Execution: Secure backend execution API that runs Tharunpp scripts and streams output.
- Sharable Code Links: Generate Base64-encoded URLs to share your snippets instantly.
- Execution Performance Tracking: Displays execution time for every run.
- Dedicated Documentation Hub: Standalone
/docsand/examplespages — the definitive guide to coding in Tamil. - Custom Branding: Space Grotesk typography, custom SVG logo (
tharunpp-svg.svg), animated loading screen. - Mobile Responsive Design: Code comfortably on any device.
Frontend
- Next.js (App Router)
- React
- Monaco Editor (for advanced code editing)
- Vercel (Hosting)
Backend
- Python 3.11
- FastAPI
- Uvicorn
- Base
tharunppinterpreter library - Render (Hosting)
tharunpp-playground/
├── frontend/ # Next.js Application
│ ├── src/app/tharunpp/ # Main playground routes, docs, and examples
│ ├── public/ # Static assets
│ ├── .env.local # Environment variables
│ └── package.json # Dependencies
│
├── backend/ # FastAPI Backend Service
│ ├── main.py # API Endpoints
│ ├── tharunpp_runner.py # Script compilation and security restrictions
│ ├── requirements.txt # Python dependencies
│ └── render.yaml # Deployment configurations
│
├── .gitignore # Centralized git ignores
└── README.md # Project documentation
The backend safely executes snippets passed from the frontend and returns the output.
cd backend
# Create a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\\Scripts\\activate
# Install requirements
pip install -r requirements.txt
pip install tharunpp
# Run the development server
uvicorn main:app --reload --port 8000The API will be available at http://localhost:8000.
The frontend is a Next.js application that provides the playground UI.
cd frontend
# Set up environment variables
cp .env.example .env.local
# Edit .env.local to point to the local backend:
# NEXT_PUBLIC_API_URL=http://localhost:8000
# Install dependencies
npm install
# Start the dev server
npm run devOpen your browser and navigate to http://localhost:3000/tharunpp.
- Push the repository to GitHub.
- Go to Render → New Web Service.
- Connect your GitHub repository.
- Set the following configurations:
- Root directory:
backend - Build command:
pip install -r requirements.txt - Start command:
uvicorn main:app --host 0.0.0.0 --port $PORT - Python version:
3.11
- Root directory:
- Deploy and copy the resulting API URL (e.g.,
https://tharunpp-api.onrender.com).
- Go to Vercel → Import Project.
- Connect your GitHub repository.
- Set the Root directory to
frontend. - Add the following Environment Variable:
NEXT_PUBLIC_API_URL=<your_render_backend_url>
- Click Deploy.
- (Optional) Add a custom domain such as
tharunkumar.dev/tharunppto map to this Vercel project.
Contributions to improve the syntax highlighting, UI, or backend sandbox security are highly encouraged! Please fork the repository, make your changes, and submit a pull request.
NANDRI VANNAKAM! ✨
