Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
π Quick Start β’ π What's New β’ π Current Status β’ π οΈ Tech Stack β’ π Architecture β’ π€ Contributing
Giteria is a comprehensive, self-hosted all-in-one software development platform that provides Git hosting, code review, team collaboration, package registry, and CI/CD capabilities. Built as a modern alternative to existing solutions, Giteria offers a seamless experience for development teams seeking full control over their infrastructure.
- π Modern Architecture - Go 1.21+ backend + TypeScript 5 frontend
- π¦ Complete Git Hosting - Full-featured Git server with SSH/HTTPS support
- π Complete Authentication System - JWT-based system with login/register forms and context
- β‘ High-Performance Backend - Go-based server with GORM + PostgreSQL integration
- π¨ Modern Frontend - Next.js 16 + React 19.2.1 + shadcn/ui component library
- ποΈ Enterprise-Ready Design - Scalable, secure, and maintainable architecture
- π Comprehensive Documentation - Complete docs and API references
- π οΈ Developer-Friendly - Make commands, hot reload, TypeScript strict mode
- π Issue Tracking - Full-featured issue management with labels, milestones
- π Pull Requests - Code review, merge requests, and collaboration
- π¦ Package Registry - Host your own packages (npm, Go, etc.)
- βοΈ CI/CD - Integrated continuous integration and deployment pipelines
- β Hybrid Monorepo Architecture - Go backend + TypeScript frontend workspaces
- β Complete Authentication System - JWT with login/register forms and React context
- β Go Backend Server - High-performance Gin API with GORM + PostgreSQL
- β Next.js 16 Frontend - Modern React 19.2.1 with shadcn/ui + Tailwind CSS v4
- β Issue Tracking System - Full issue management with labels, milestones, and assignees
- β Pull Request/Merge Requests - Code review, inline comments, and approvals
- β Repository Management - Create, fork, and manage repositories
- β Access Control - Organization and team permissions
- β Wiki System - Documentation and knowledge base for each repository
- β Activity Feed - Track all project activities and notifications
- β SSH Key Management - Secure Git access with deploy keys
- β Webhooks - Integration with external services
- β Package Registry - Host npm, Go, and other package types
- β CI/CD Pipelines - Integrated continuous integration
- β Container Registry - Docker container hosting (Future)
β In Development: Building a comprehensive self-hosted Git platform with modern architecture.
- β Hybrid Monorepo Architecture - Go backend + TypeScript frontend workspaces
- β Complete Authentication System - JWT with login/register forms and React context
- β Go Backend Server - High-performance Gin API with GORM + PostgreSQL
- β Next.js 16 Frontend - Modern React 19.2.1 with shadcn/ui + Tailwind CSS v4
- β Database Layer - GORM with PostgreSQL and comprehensive data models
- β Git Operations - Git service layer with proper handling
- β Repository Creation - Create and manage Git repositories
- β Repository Browsing - File browser with syntax highlighting
- β Branch Management - Create, delete, and manage branches
- β Tag Management - Release tagging support
- β Issue System - Create, track, and manage issues
- β Issue Labels - Categorize issues with labels
- β Milestones - Track progress with milestones
- β Comments - Discussion and comments on issues/PRs
- β Development Environment - Hot reload, TypeScript strict mode, Go modules
- β Docker Deployment - Production-ready containers
- β Security Implementation - Rate limiting, validation, security headers
- β Structured Logging - Pino-based logging with correlation
- Pull Request System - Code review and merge requests
- Organization Management - Teams and organization settings
- Wiki System - Repository documentation
- Activity Stream - User and repository activities
- API Documentation - Comprehensive API documentation and testing
- Package Registry - npm, Go, Maven repositories
- CI/CD System - Integrated pipelines
- Container Registry - Docker image hosting
- Advanced Security - 2FA, SSO, LDAP integration
- Migration Tools - Import from GitHub, GitLab, Gitea
- Go 1.21.0 or higher (for backend)
- Node.js 18.0.0 or higher (for frontend)
- pnpm 9.0.0 or higher (recommended package manager)
- PostgreSQL 14.0 or higher (for database)
- Docker (optional, for container deployment)
- Make (for command shortcuts - included with most systems)
-
Clone the repository
git clone https://github.com/skygenesisenterprise/giteria.git cd giteria -
Quick start (recommended)
# One-command setup and start make quick-start -
Manual setup
# Install Go dependencies cd server && go mod download && cd .. # Install Node.js dependencies make install # Environment setup make env-dev # Database initialization make db-migrate # Start development servers make dev
Once running, you can access:
- Frontend: http://localhost:3001
- API Server: http://localhost:8080
- Health Check: http://localhost:8080/health
# π Quick Start & Development
make quick-start # Install, migrate, and start dev servers
make dev # Start all services (frontend + backend)
make dev-frontend # Frontend only (port 3001)
make dev-backend # Backend only (port 8080)
# ποΈ Building & Production
make build # Build all packages
make start # Start production servers
# ποΈ Database
make db-studio # Open Prisma Studio
make db-migrate # Run migrations
make db-seed # Seed development data
# π§ Code Quality & Testing
make lint # Lint all packages
make typecheck # Type check all packages
make format # Format code with Prettier
# π οΈ Utilities
make help # Show all available commands
make status # Show project status
make health # Check service healthπ‘ Tip: Run
make helpto see all available commands organized by category.
Next.js 16 + React 19.2.1 + TypeScript 5
βββ π¨ Tailwind CSS v4 + shadcn/ui (Styling & Components)
βββ π JWT Authentication (Complete Implementation)
βββ π£οΈ Next.js App Router (Routing)
βββ π TypeScript Strict Mode (Type Safety)
βββ π React Context (State Management)
βββ π§ ESLint + Prettier (Code Quality)
Go 1.21+ + Gin Framework
βββ ποΈ GORM + PostgreSQL (Database Layer)
βββ π JWT Authentication (Complete Implementation)
βββ π‘οΈ Middleware (Security, CORS, Logging)
βββ π HTTP Router (Gin Router)
βββ π¦ JSON Serialization (Native Go)
βββ π Structured Logging (Zerolog/Pino)
PostgreSQL + GORM
βββ ποΈ Schema Management (Auto-migration)
βββ π Query Builder (Type-Safe Queries)
βββ π Connection Pooling (Performance)
βββ π€ User Models (Complete Implementation)
βββ π Repository Models
βββ π Issue & PR Models
βββ π Seed Scripts (Development Data)
Make + pnpm Workspaces + Go Modules
βββ π¦ app/ (Next.js Frontend - TypeScript)
βββ βοΈ server/ (Gin API - Go)
βββ π οΈ tools/ (Development Utilities - TypeScript)
βββ π services/ (Core Services - Go)
βββ ποΈ routers/ (API Routing - Go)
βββ π¦ models/ (Data Models - Go)
βββ π³ docker/ (Container Configuration)
giteria/
βββ app/ # Next.js 16 Frontend Application (TypeScript)
β βββ components/ # React components with shadcn/ui
β β βββ ui/ # UI component library
β β βββ ...
β βββ context/ # React contexts
β β βββ AuthContext.tsx # Authentication state
β βββ lib/ # Utility functions
β βββ styles/ # Tailwind CSS styling
β βββ ...
βββ server/ # Go Backend Server
β βββ cmd/
β β βββ server/
β β βββ main.go # CLI entry point
β βββ src/
β β βββ config/ # Database and server configuration
β β βββ controllers/ # HTTP request handlers
β β βββ middleware/ # Gin middleware (auth, validation)
β β βββ models/ # Data models and structs
β β βββ routes/ # API route definitions
β β βββ services/ # Business logic
β β βββ tests/ # Unit and integration tests
β βββ main.go # Main server entry point
β βββ go.mod # Go modules file
β βββ go.sum # Go modules checksum
βββ models/ # Core Data Models (Go)
β βββ user/ # User models
β βββ repo/ # Repository models
β βββ issues/ # Issue tracking models
β βββ pull/ # Pull request models
β βββ ...
βββ services/ # Core Services (Go)
β βββ auth/ # Authentication service
β βββ git/ # Git operations service
β βββ repo/ # Repository management
β βββ ...
βββ modules/ # Reusable Modules (Go)
βββ routers/ # API Routing (Go)
β βββ api/ # API v1 routes
β βββ web/ # Web UI routes
β βββ ...
βββ prisma/ # Database Schema & Migrations
β βββ schema.prisma # Database schema definition
β βββ ...
βββ docker/ # Docker Configuration
βββ docs/ # Documentation
βββ ...
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Next.js App β β Gin API β β PostgreSQL β
β (Frontend) βββββΊβ (Backend) βββββΊβ (Database) β
β Port 3001 β β Port 8080 β β Port 5432 β
β TypeScript β β Go β β β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
JWT Tokens API Endpoints User/Repo/Issue Data
React Context Authentication GORM ORM
shadcn/ui Components Business Logic Auto-migrations
# New developer setup
make quick-start
# Daily development
make dev # Start working (Go + TypeScript)
make lint-fix # Fix code issues
make typecheck # Verify types
make test # Run tests
# Go-specific development
cd server
go run main.go # Start Go server
go test ./... # Run Go tests
go fmt ./... # Format Go code
go mod tidy # Clean dependencies
# TypeScript-specific development
make dev-frontend # Frontend only
make lint # Check code quality
make typecheck # Verify types
# Before committing
make format # Format code
make lint # Check code quality
make typecheck # Verify types
# Database changes
make db-migrate # Apply migrations
make db-studio # Browse database
# Production deployment
make build # Build everything
make docker-build # Create Docker image
make docker-run # Deploy- Make-First Workflow - Use
makecommands for all operations - Go Best Practices - Follow Go conventions for backend code
- TypeScript Strict Mode - All frontend code must pass strict type checking
- Conventional Commits - Use standardized commit messages
- Component Structure - Follow established patterns for React components
- API Design - RESTful endpoints with proper HTTP methods
- Error Handling - Comprehensive error handling and logging
- Security First - Validate all inputs and implement proper authentication
The authentication system is fully implemented with Go backend and TypeScript frontend:
- JWT Tokens - Secure token-based authentication with refresh mechanism
- Login/Register Forms - Complete user authentication flow with validation
- Auth Context - Global authentication state management in React
- Protected Routes - Route-based authentication guards
- Go API Endpoints - Complete authentication API with Gin framework
- Password Security - bcrypt hashing for secure password storage
- Session Management - LocalStorage-based session persistence
We're looking for contributors to help build this comprehensive self-hosted Git platform! Whether you're experienced with Go, TypeScript, web development, or DevOps, there's a place for you.
- Fork the repository and create a feature branch
- Check the issues for tasks that need help
- Join discussions about architecture and features
- Start small - Documentation, tests, or minor features
- Follow our code standards and commit guidelines
- Go Backend Development - API endpoints, business logic, Git operations
- TypeScript Frontend Development - React components, UI/UX design
- Database Design - Schema development, migrations, optimization
- DevOps Engineers - Docker, deployment, CI/CD
- Security Specialists - Authentication, encryption
- Documentation - API docs, user guides, tutorials
- π Documentation - Comprehensive guides and API docs
- π GitHub Issues - Bug reports and feature requests
- π‘ GitHub Discussions - General questions and ideas
- π§ Email - developer@skygenesisenterprise.com
When reporting bugs, please include:
- Clear description of the problem
- Steps to reproduce
- Environment information (Go version, Node.js version, OS, etc.)
- Error logs or screenshots
- Expected vs actual behavior
| Component | Status | Technology | Notes |
|---|---|---|---|
| Hybrid Architecture | β Working | Go + TypeScript | Monorepo design |
| Authentication System | β Working | JWT (Go/TS) | Full implementation with forms |
| Go Backend API | β Working | Gin + GORM | High-performance with PostgreSQL |
| Frontend Framework | β Working | Next.js 16 + React 19.2.1 | shadcn/ui + Tailwind CSS v4 |
| Repository Management | β Working | Go/TS | Create, browse, manage repos |
| Issue Tracking | β Working | Go/TS | Full issue system with labels |
| UI Component Library | β Working | shadcn/ui + Tailwind CSS | Complete component set |
| Database Layer | β Working | GORM + PostgreSQL | Auto-migrations + models |
| Docker Deployment | β Working | Multi-Stage | Containerized deployment |
| Pull Requests | π In Progress | Go/TS | Code review system |
| Organization Mgmt | π In Progress | Go/TS | Teams and org settings |
| Wiki System | π Planned | Go/TS | Repository documentation |
| Package Registry | π Planned | Go/TS | npm, Go, Maven repos |
| CI/CD | π Planned | Go/TS | Integrated pipelines |
Development led by Sky Genesis Enterprise
We're looking for sponsors and partners to help accelerate development of this open-source Git hosting platform.
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Sky Genesis Enterprise
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
- Sky Genesis Enterprise - Project leadership and development
- Go Community - High-performance programming language and ecosystem
- Gin Framework - Lightweight HTTP web framework
- GORM Team - Modern Go database library
- Next.js Team - Excellent React framework
- React Team - Modern UI library
- shadcn/ui - Beautiful component library
- pnpm - Fast, disk space efficient package manager
- Make - Universal build automation and command interface
- Docker Team - Container platform and tools
- Open Source Community - Tools, libraries, and inspiration
β Star This Repo β’ π Report Issues β’ π‘ Start a Discussion
π§ Building the next generation of self-hosted software development platform
Made with β€οΈ by the Sky Genesis Enterprise team