{"id":26759853,"url":"https://github.com/y1j2x34/springboot-ktorm-boilerplate","last_synced_at":"2026-05-14T13:35:38.899Z","repository":{"id":156884766,"uuid":"625602561","full_name":"y1j2x34/springboot-ktorm-boilerplate","owner":"y1j2x34","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-07T07:20:25.000Z","size":2936,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-07T09:21:55.106Z","etag":null,"topics":["boilerplate","captcha","kotlin","ktorm","spring-boot","spring-security","spring-security-jwt"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/y1j2x34.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-09T16:10:52.000Z","updated_at":"2026-04-07T07:20:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"b39d0992-0361-4e1a-a215-b2fbc544db06","html_url":"https://github.com/y1j2x34/springboot-ktorm-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/y1j2x34/springboot-ktorm-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y1j2x34%2Fspringboot-ktorm-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y1j2x34%2Fspringboot-ktorm-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y1j2x34%2Fspringboot-ktorm-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y1j2x34%2Fspringboot-ktorm-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/y1j2x34","download_url":"https://codeload.github.com/y1j2x34/springboot-ktorm-boilerplate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y1j2x34%2Fspringboot-ktorm-boilerplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33027063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["boilerplate","captcha","kotlin","ktorm","spring-boot","spring-security","spring-security-jwt"],"created_at":"2025-03-28T17:28:29.452Z","updated_at":"2026-05-14T13:35:37.892Z","avatar_url":"https://github.com/y1j2x34.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Boot Ktorm Boilerplate\n\nEnterprise-ready Spring Boot application with Ktorm ORM, featuring complete Docker configurations for both development and production environments.\n\n## 📖 Documentation\n\n### Quick Links\n\n| Language | Development | Production |\n|----------|-------------|------------|\n| **English** | [Quick Start](docs/en/DOCKER-QUICKSTART.md) | [Production Guide](docs/en/README.md) |\n| **中文** | [快速开始](docs/zh-CN/DOCKER-QUICKSTART.md) | [生产部署](docs/zh-CN/README-PRODUCTION.md) |\n\n### Complete Documentation\n\n- **English**: [docs/en/](docs/en/)\n- **中文**: [docs/zh-CN/](docs/zh-CN/)\n\n## 🚀 Quick Start\n\n### Development Environment\n\n```bash\n# Start all services\n./start-all.sh\n\n# Access:\n# - API: http://localhost:8081/api\n```\n\n### Production Environment\n\n```bash\n# 1. Configure environment\ncp env.prod.example .env.prod\nvim .env.prod\n\n# 2. Deploy\n./deploy-prod.sh --with-monitoring\n```\n\n## 📦 Features\n\n### Development\n- ✅ One-command startup\n- ✅ Hot reload support\n- ✅ Easy debugging\n- ✅ Docker-based development\n\n### Production\n- ✅ Security hardening (non-root user, network isolation)\n- ✅ Resource management (CPU/memory limits)\n- ✅ Complete monitoring (Prometheus + Grafana + Loki)\n- ✅ Automated deployment scripts\n- ✅ Health checks and auto-restart\n- ✅ Log management and rotation\n\n## 🏗️ Project Structure\n\n```\n.\n├── docs/\n│   ├── en/                      # English documentation\n│   └── zh-CN/                   # Chinese documentation\n├── docker/\n│   └── configs/                 # Database configurations\n│       ├── mariadb/\n├── app/                         # Main application\n├── common/                      # Common modules\n├── captcha/                     # Captcha module\n├── jwt-auth/                    # JWT authentication\n├── user/                        # User module\n├── monitoring/                  # Monitoring configurations\n├── docker-compose.yml           # Development environment\n├── docker-compose.prod.yml      # Production environment\n├── docker-compose.monitoring.yml # Monitoring stack\n└── deploy-prod.sh               # Deployment script\n```\n\n## 🛠️ Tech Stack\n\n- **Backend**: Spring Boot 2.7.1, Kotlin 1.8.20\n- **ORM**: Ktorm 3.6.0\n- **Database**: MariaDB 11.2\n- **Auth**: JWT\n- **Captcha**: Anji-Plus Captcha\n- **Containerization**: Docker, Docker Compose\n- **Monitoring**: Prometheus, Grafana, Loki\n\n## 📊 Services\n\n### Development Environment\n\n| Service | Port | Description |\n|---------|------|-------------|\n| Spring Boot | 8081 | Main API |\n| MariaDB | 3306 | Database |\n\n### Production Environment (Additional)\n\n| Service | Port | Description |\n|---------|------|-------------|\n| Grafana | 3000 | Monitoring dashboards |\n| Prometheus | 9090 | Metrics collection |\n| Loki | 3100 | Log aggregation |\n\n## 🔒 Security Features (Production)\n\n- Non-root user execution\n- Network isolation (internal/external networks)\n- Environment variable management for secrets\n- Security options (no-new-privileges)\n- SSL/TLS support\n- Regular security updates\n\n## 📈 Monitoring (Production)\n\n- Real-time metrics (CPU, Memory, Requests)\n- Application performance monitoring\n- Log aggregation and search\n- Pre-configured alerts (20+ rules)\n- Grafana dashboards\n- Health checks\n\n## 💾 Backup \u0026 Recovery (Production)\n\n- Automated database backups\n- Volume backup scripts\n- Point-in-time recovery\n- Backup retention policies\n- Disaster recovery procedures\n\n## 🎯 Use Cases\n\n### Development\n```bash\n./start-all.sh          # Start\n./logs.sh all           # View logs\n./stop-all.sh          # Stop\nmake help              # View all commands\n```\n\n### Production\n```bash\n./deploy-prod.sh                    # Deploy\n./deploy-prod.sh --with-monitoring  # Deploy with monitoring\n./stop-prod.sh                      # Stop\n./stop-prod.sh --volumes            # Stop and remove data\n```\n\n## 📚 Documentation Index\n\n### Getting Started\n- [Development Quick Start (EN)](docs/en/DOCKER-QUICKSTART.md) | [开发快速开始 (CN)](docs/zh-CN/DOCKER-QUICKSTART.md)\n- [Production Quick Start (EN)](docs/en/README.md) | [生产快速开始 (CN)](docs/zh-CN/README-PRODUCTION.md)\n\n### Complete Guides\n- [Production Deployment Guide (EN)](docs/en/PRODUCTION.md) | [生产部署指南 (CN)](docs/zh-CN/PRODUCTION.md)\n- [Production Checklist (EN)](docs/en/PRODUCTION-CHECKLIST.md) | [生产检查清单 (CN)](docs/zh-CN/PRODUCTION-CHECKLIST.md)\n\n### Reference\n- [Development vs Production (EN)](docs/en/DEV-VS-PROD.md) | [开发vs生产 (CN)](docs/zh-CN/DEV-VS-PROD.md)\n- [Documentation Index (EN)](docs/en/INDEX.md) | [文档索引 (CN)](docs/zh-CN/INDEX.md)\n\n## 🆘 Troubleshooting\n\n### Service won't start\n```bash\n# Development\n./logs.sh all\n\n# Production\ndocker compose -f docker-compose.prod.yml logs\n```\n\n### Port conflicts\nEdit port mappings in `docker-compose.yml` or `docker-compose.prod.yml`\n\n### Database connection issues\n```bash\n# Check database status\ndocker compose ps\ndocker exec mariadb-db mysql -uroot -p -e \"SELECT 1\"\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please read our contributing guidelines before submitting pull requests.\n\n## 📝 License\n\n[Your License]\n\n## 📞 Support\n\n- Documentation: [docs/](docs/)\n- Issues: [GitHub Issues](your-repo-issues)\n- Email: your-email@example.com\n\n---\n\n**⚠️ Important Notes:**\n- For production deployment, read the complete [Production Guide](docs/en/PRODUCTION.md)\n- Always use strong passwords in production\n- Enable monitoring for production environments\n- Backup data regularly\n- Test thoroughly before production deployment\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy1j2x34%2Fspringboot-ktorm-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fy1j2x34%2Fspringboot-ktorm-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy1j2x34%2Fspringboot-ktorm-boilerplate/lists"}