Skip to content

Commit e8ecec8

Browse files
committed
Major Modifications
Added Business Logic and Functionalities
1 parent 27e0200 commit e8ecec8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+8980
-3489
lines changed

.dockerignore.production

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# Production .dockerignore for optimized builds
2+
# This file reduces build context and improves security
3+
4+
# Version control
5+
.git
6+
.gitignore
7+
.github
8+
9+
# Documentation (exclude from production builds)
10+
*.md
11+
docs/
12+
examples/
13+
CHANGELOG.md
14+
CONTRIBUTING.md
15+
README*.md
16+
LICENSE
17+
18+
# Development files
19+
.env
20+
.env.*
21+
!.env.example
22+
compose.dev.yml
23+
compose.override.yml
24+
docker-compose*.yml
25+
26+
# IDE and editor files
27+
.vscode/
28+
.idea/
29+
*.swp
30+
*.swo
31+
*~
32+
.DS_Store
33+
Thumbs.db
34+
35+
# Temporary files
36+
*.tmp
37+
*.temp
38+
.cache/
39+
tmp/
40+
temp/
41+
42+
# Build artifacts
43+
target/
44+
build/
45+
dist/
46+
*.exe
47+
*.dll
48+
*.so
49+
*.dylib
50+
51+
# Test files and coverage reports
52+
*_test.go
53+
test/
54+
tests/
55+
coverage.out
56+
*.test
57+
.testcache/
58+
59+
# Node.js (if any)
60+
node_modules/
61+
npm-debug.log*
62+
yarn-debug.log*
63+
yarn-error.log*
64+
65+
# Python (if any)
66+
__pycache__/
67+
*.py[cod]
68+
*$py.class
69+
*.so
70+
.Python
71+
pip-log.txt
72+
pip-delete-this-directory.txt
73+
74+
# Database files
75+
*.db
76+
*.sqlite
77+
*.sqlite3
78+
79+
# Log files
80+
*.log
81+
logs/
82+
*.out
83+
84+
# Backup files
85+
*.bak
86+
*.backup
87+
backup/
88+
89+
# OS generated files
90+
.DS_Store?
91+
ehthumbs.db
92+
Icon?
93+
94+
# Security sensitive files
95+
*.pem
96+
*.key
97+
*.crt
98+
*.p12
99+
secrets/
100+
private/
101+
102+
# Runtime data
103+
pids/
104+
*.pid
105+
*.seed
106+
107+
# Dependency directories that shouldn't be copied
108+
vendor/
109+
.vendor/
110+
111+
# Go specific
112+
*.sum
113+
go.work*
114+
115+
# Application specific
116+
uploads/
117+
reports/
118+
models/
119+
data/
120+
storage/
121+
122+
# Development tools
123+
tools/
124+
scripts/development/
125+
Makefile.dev
126+
127+
# CI/CD files that shouldn't be in production image
128+
.github/
129+
.gitlab-ci.yml
130+
.travis.yml
131+
Jenkinsfile
132+
133+
# Docker files (to avoid recursive copying)
134+
Dockerfile*
135+
docker-compose*
136+
.dockerignore*
137+
138+
# Monitoring and profiling
139+
*.pprof
140+
*.trace
141+
142+
# Generated files
143+
generated/
144+
auto/

.env.example

Lines changed: 22 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,36 @@
1-
# FFprobe API Configuration Template
2-
# Copy this file to .env and customize the values
1+
# FFprobe API Configuration
2+
# Copy this file to .env and configure for your environment
33

44
# =============================================================================
5-
# DEPLOYMENT CONFIGURATION
5+
# BASIC CONFIGURATION
66
# =============================================================================
77

8-
# Environment: development, staging, production
9-
ENVIRONMENT=development
8+
# Environment (development, staging, production)
9+
GO_ENV=development
1010

11-
# Deployment mode: development, staging, production, swarm, kubernetes
12-
DEPLOYMENT_MODE=development
13-
14-
# Logging level: debug, info, warn, error
15-
LOG_LEVEL=info
16-
17-
# =============================================================================
18-
# NETWORK CONFIGURATION
19-
# =============================================================================
20-
21-
# API server port
11+
# API Server
2212
API_PORT=8080
23-
24-
# Domain name (required for production)
25-
# DOMAIN_NAME=api.yourcompany.com
26-
27-
# Load balancer ports (production only)
28-
# HTTP_PORT=80
29-
# HTTPS_PORT=443
30-
31-
# Email for SSL certificates (production only)
32-
# EMAIL=admin@yourcompany.com
13+
HOST=0.0.0.0
3314

3415
# =============================================================================
35-
# SECURITY CONFIGURATION
16+
# AUTHENTICATION (Required)
3617
# =============================================================================
3718

38-
# API key for authentication (minimum 32 characters)
39-
# Generate with: openssl rand -base64 32 | tr -d "=+/" | cut -c1-32
40-
API_KEY=change_this_to_a_secure_32_character_api_key
19+
# Enable/disable authentication
20+
ENABLE_AUTH=true
4121

42-
# JWT secret for token signing (minimum 32 characters)
43-
# Generate with: openssl rand -base64 32 | tr -d "=+/" | cut -c1-32
44-
JWT_SECRET=change_this_to_a_secure_32_character_jwt_secret
22+
# API Key Authentication (Recommended)
23+
# Generate with: openssl rand -hex 32
24+
# Format: ffprobe_[env]_sk_[64-hex-chars]
25+
API_KEY=ffprobe_test_sk_0123456789abcdef0123456789abcdef01234567890abcdef0123456789abcdef
4526

46-
# Authentication settings
47-
ENABLE_AUTH=true
48-
ENABLE_RATE_LIMIT=true
49-
ENABLE_CSRF=false
27+
# JWT Authentication (Optional)
28+
# Generate with: openssl rand -hex 32
29+
JWT_SECRET=your-jwt-secret-key-minimum-32-characters-long-for-security
5030

51-
# Token expiry (hours)
52-
TOKEN_EXPIRY_HOURS=24
53-
REFRESH_EXPIRY_HOURS=168
31+
# Token expiration (hours)
32+
TOKEN_EXPIRY=24
33+
REFRESH_EXPIRY=168
5434

5535
# =============================================================================
5636
# RATE LIMITING CONFIGURATION
@@ -252,12 +232,8 @@ ENABLE_LOCAL_LLM=true
252232
OLLAMA_URL=http://ollama:11434
253233

254234
# Ollama model to use for analysis
255-
# Recommended models:
256-
# - mistral:7b (balanced performance, 4GB RAM)
257-
# - qwen2:1.5b (lightweight, 1GB RAM)
258-
# - phi3:mini (efficient, 2GB RAM)
259-
# - gemma2:2b (compact, 1.5GB RAM)
260-
OLLAMA_MODEL=mistral:7b
235+
# Default: phi3:mini (efficient, lightweight, 2GB RAM)
236+
OLLAMA_MODEL=phi3:mini
261237

262238
# Path for storing Ollama models
263239
OLLAMA_MODELS_PATH=/root/.ollama/models

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,4 @@ What have you tried to resolve this issue?
115115

116116
---
117117

118-
**Note:** Please ensure you've checked the [FAQ](../docs/FAQ.md) and [existing issues](https://github.com/your-org/ffprobe-api/issues) before submitting.
118+
**Note:** Please ensure you've checked the [FAQ](../docs/FAQ.md) and [existing issues](https://github.com/rendiffdev/ffprobe-api/issues) before submitting.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,4 @@ If you're willing to contribute, what are your technical skills?
182182

183183
---
184184

185-
**Note:** Feature requests are evaluated based on alignment with project goals, technical feasibility, and community interest. Please check our [roadmap](https://github.com/your-org/ffprobe-api/projects) for planned features.
185+
**Note:** Feature requests are evaluated based on alignment with project goals, technical feasibility, and community interest. Please check our [roadmap](https://github.com/rendiffdev/ffprobe-api/projects) for planned features.

CONTRIBUTING.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Thank you for your interest in contributing to FFprobe API! This document provid
99

1010
1. **Fork** the repository
1111
2. **Clone** your fork: `git clone https://github.com/YOUR-USERNAME/ffprobe-api.git`
12+
3. **Add upstream**: `git remote add upstream https://github.com/rendiffdev/ffprobe-api.git`
1213
3. **Read** [Technical Guidelines](CONTRIBUTOR-GUIDELINES.md) for detailed setup instructions
1314
4. **Install** dependencies: `docker compose up -d`
1415
5. **Run** tests: `go test ./...`
@@ -26,7 +27,7 @@ Thank you for your interest in contributing to FFprobe API! This document provid
2627

2728
```bash
2829
# Clone and setup
29-
git clone https://github.com/your-username/ffprobe-api.git
30+
git clone https://github.com/rendiffdev/ffprobe-api.git
3031
cd ffprobe-api
3132

3233
# Start development environment (includes PostgreSQL, Redis, FFmpeg)
@@ -45,10 +46,10 @@ For detailed setup instructions, see [Technical Guidelines](CONTRIBUTOR-GUIDELIN
4546

4647
### 1. Find Something to Work On
4748

48-
- Check [Good First Issues](https://github.com/your-org/ffprobe-api/labels/good%20first%20issue) for beginners
49-
- Browse [Help Wanted](https://github.com/your-org/ffprobe-api/labels/help%20wanted) issues
50-
- Review our [Project Roadmap](https://github.com/your-org/ffprobe-api/projects)
51-
- Propose new features via [GitHub Discussions](https://github.com/your-org/ffprobe-api/discussions)
49+
- Check [Good First Issues](https://github.com/rendiffdev/ffprobe-api/labels/good%20first%20issue) for beginners
50+
- Browse [Help Wanted](https://github.com/rendiffdev/ffprobe-api/labels/help%20wanted) issues
51+
- Review our [Project Roadmap](https://github.com/rendiffdev/ffprobe-api/projects)
52+
- Propose new features via [GitHub Discussions](https://github.com/rendiffdev/ffprobe-api/discussions)
5253

5354
### 2. Create a Feature Branch
5455

@@ -182,7 +183,7 @@ For detailed security guidelines, see [Security Guidelines](CONTRIBUTOR-GUIDELIN
182183

183184
### Before Reporting
184185

185-
1. Check [existing issues](https://github.com/your-org/ffprobe-api/issues)
186+
1. Check [existing issues](https://github.com/rendiffdev/ffprobe-api/issues)
186187
2. Ensure you're using the latest version
187188
3. Test in a clean environment (Docker)
188189

@@ -216,8 +217,8 @@ Include relevant log output (remove sensitive information).
216217

217218
### Before Requesting
218219

219-
1. Check [existing discussions](https://github.com/your-org/ffprobe-api/discussions)
220-
2. Review our [roadmap](https://github.com/your-org/ffprobe-api/projects)
220+
1. Check [existing discussions](https://github.com/rendiffdev/ffprobe-api/discussions)
221+
2. Review our [roadmap](https://github.com/rendiffdev/ffprobe-api/projects)
221222
3. Consider if this fits the project scope
222223

223224
### Feature Request Template
@@ -339,9 +340,9 @@ We follow the [Contributor Covenant](https://www.contributor-covenant.org/). In
339340
### 🆕 Good First Issues
340341

341342
Look for issues labeled with:
342-
- [`good first issue`](https://github.com/your-org/ffprobe-api/labels/good%20first%20issue)
343-
- [`help wanted`](https://github.com/your-org/ffprobe-api/labels/help%20wanted)
344-
- [`documentation`](https://github.com/your-org/ffprobe-api/labels/documentation)
343+
- [`good first issue`](https://github.com/rendiffdev/ffprobe-api/labels/good%20first%20issue)
344+
- [`help wanted`](https://github.com/rendiffdev/ffprobe-api/labels/help%20wanted)
345+
- [`documentation`](https://github.com/rendiffdev/ffprobe-api/labels/documentation)
345346

346347
## 📚 Resources
347348

0 commit comments

Comments
 (0)