Git repository hosting and collaboration platform with code browsing, issues, and pull requests.
| Package | Port | Description |
|---|---|---|
api |
4001 | Express + Git Smart HTTP + Prisma backend |
web |
4002 | Next.js 15 frontend |
desktop |
— | Electron wrapper |
- Git repository CRUD and hosting (push/pull/clone)
- Code browser with syntax highlighting
- File tree navigation
- Commit history and diffs
- Issues with labels and comments
- Pull requests with code review
- Repository starring
- User profiles
- Explore public repositories
- Web: Next.js 15 + React 19 + TypeScript + Tailwind CSS + shadcn/ui
- API: Express.js + Prisma ORM + custom Git Smart HTTP server
- Desktop: Electron 33
- Database: PostgreSQL 16
- Node.js 20+
- pnpm 9.x
- Docker & Docker Compose (for PostgreSQL)
cd github-app
pnpm installpnpm db:upStarts PostgreSQL at localhost:5433
cp api/.env.example api/.env
cp web/.env.example web/.envcd api && npx prisma generate && npx prisma migrate dev --name init# Terminal 1 — API
cd api && pnpm dev
# Terminal 2 — Web
cd web && pnpm dev
# Desktop
cd desktop && pnpm dev| Variable | Default | Description |
|---|---|---|
DATABASE_URL |
postgresql://github:github_pass@localhost:5433/github_db | PostgreSQL connection |
JWT_SECRET |
— | JWT signing secret |
PORT |
4001 | API server port |
GIT_REPOS_PATH |
/tmp/git-repos | Bare git repos storage |
| Variable | Default | Description |
|---|---|---|
NEXT_PUBLIC_API_URL |
http://localhost:4001 | API base URL |
POST /api/auth/register— User registrationPOST /api/auth/login— User loginGET /api/repos— List repositoriesPOST /api/repos— Create repositoryGET /api/repos/:owner/:name— Get repositoryGET /api/repos/:owner/:name/issues— List issuesPOST /api/repos/:owner/:name/issues— Create issueGET /api/repos/:owner/:name/pulls— List PRs- Git server:
http://localhost:4001/git/:owner/:repo.git
Loads web frontend at http://localhost:4002 with native menus, clone dialog, and terminal integration.
MIT