Project Info
GitTranslate
A full-stack web app for translating and localizing content using OpenAI’s APIs.
GitTranslate lets you:
Devpost: https://devpost.com/software/gitcast
- Fetch and browse Git repositories (GitHub, GitLab)
- Translate code comments, filenames, and documentation into your chosen language via GPT-3.5 Turbo
- (Bonus) Upload podcast or other audio files to transcribe with Whisper, translate the transcript, and synthesize new audio in the target language
- Deploy easily: frontend on Vercel, backend on any Python-friendly host (Heroku, AWS, etc.)
- Automate workflows with the included Orkes FE script
Demo
Live at: git-translate-indol.vercel.app
Features
- Frontend: Next.js + React + TypeScript + Tailwind CSS
- Backend: Python (FastAPI)
- Audio: Whisper for transcription, TTS for speech synthesis
- Translation: OpenAI GPT-3.5 Turbo for text translation
- Workflow: scripts/orkes-fe-script.py for Orkes integration
- Configurable: .env-driven, ready for local or cloud deployment
Table of Contents
- Getting Started
- Prerequisites
- Installation
- Configuration
- Running Locally
- Deployment
- Project Structure
- Contributing
- License
Getting Started
Prerequisites
- Node.js v16+
- Python 3.9+
- A valid OpenAI API Key
Installation
-
Clone this repo
git clone https://github.com/sakshat-patil/GitTranslate.git cd GitTranslate -
Backend
cd backend python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows pip install -r requirements.txt -
Frontend
cd ../frontend npm install
Configuration
Copy the example .env files and fill in your keys:
# backend/.env
OPENAI_API_KEY=your_openai_api_key
PORT=8000
# frontend/.env.local
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
Running Locally
-
Start the backend (FastAPI + Uvicorn)
cd backend uvicorn app.main:app --reload --host 0.0.0.0 --port ${PORT:-8000} -
Start the frontend (Next.js)
cd ../frontend npm run dev
Visit http://localhost:3000 in your browser and you’re live.
Deployment
- Frontend: Push to Git, deploy via Vercel (auto-detect Next.js).
- Backend: Containerize or push to any Python host (Heroku, AWS Elastic Beanstalk, etc.).
- Workflows: See scripts/orkes-fe-script.py for setting up Orkes flows.
Project Structure
/
├── backend/ # FastAPI app
│ ├── app/
│ ├── requirements.txt
│ └── .env
├── frontend/ # Next.js + React UI
│ ├── pages/
│ ├── components/
│ ├── public/
│ └── .env.local
├── scripts/
│ └── orkes-fe-script.py # Orkes workflow helper
├── LICENSE
└── sample.txt # Example input/output
Contributing
- Fork the repo
- Create a feature branch (git checkout -b feat/my-feature)
- Commit your changes (git commit -m "feat: add X")
- Push and open a PR
Please follow the existing code style and include tests where applicable.
License
This project is licensed under the MIT License
See LICENSE for details.
Analysis
View
Metric
- 21
- 8
- 5
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- AWSClaimed
- VercelClaimed
9 of 11 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
106 KB
Source files
42
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
sakshat-patil/GitTranslate
60 files · 5.4 MB · @ 5b2c6cd
Structure
Interface
16 files · 27%Screens, components and styles rendered to the user.
API & routing
4 files · 7%Request entry points: routes, handlers and controllers.
Application logic
10 files · 17%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python64%
- TypeScript23%
- Markdown6%
- JavaScript4%
- CSS2%
- HTML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 25- @radix-ui/react-radio-group
- @radix-ui/react-slot
- @radix-ui/react-toast
- axios
- class-variance-authority
- clsx
- lucide-react
- react
- react-dom
- tailwind-merge
- +15 more
requirements.txt
pypi · 10- aiohttp
- anthropic
- boto3
- pathspec
- pydub
- PyGithub
- PyJWT
- python-dotenv
- requests
- uuid
backend/requirements.txt
pypi · 6- fastapi
- pydantic
- pydantic-settings
- python-dotenv
- requests
- uvicorn[standard]
package.json
npm · 4- clsx
- tailwind-merge
- tailwindcss-animate
- +1 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.