
π SVNfluence - AI-Powered SVN Command Generator
Welcome to SVNfluence, an AI-driven web application that helps developers quickly find and understand SVN (Subversion) commands using natural language queries. Built with Go, Gin, and powered by OpenAI, SVNfluence offers a sleek, responsive interface with a modern design, making it easy to navigate SVN commands in both light and dark themes.
π Find the SVN command you need nowβeffortlessly!
β¨ Features
- AI-Powered Search: Enter natural language queries (e.g., “how to add a file?”) and get instant SVN command suggestions with descriptions, usage, and examples.
- Responsive Design: Beautiful, user-friendly UI with light and dark themes, featuring animated particle effects for a dynamic background.
- Fast Performance: Built with Go and Gin for high-speed, reliable web serving.
- Cross-Platform: Works seamlessly in browsers on desktop and mobile devices.
- Open Source: Contribute, fork, or customizeβcheck out the code on GitHub!
π Getting Started
Prerequisites
- Go: Version 1.20 or higher (install via golang.org)
- OpenAI API Key: Sign up at OpenAI and get an API key.
- Git: For cloning the repository (install via git-scm.com)
Installation
Clone the repository:
git clone https://github.com/k1lgor/svnfluence.git cd svnfluence
Set your OpenAI API key as an environment variable:
export OPENAI_API_KEY=your-api-key-here
Install dependencies:
go mod tidy
Run the application:
go run cmd/main.go
Open the browser and visit:
http://localhost:8080
π Usage
- Navigate to the homepage and enter a query like βhow to add a file?β in the search bar.
- Click βSearchβ to get AI-generated SVN command suggestions, including the command, description, usage, and examples.
- Toggle between light π and dark π themes using the button in the top-right corner.
- Click the GitHub icon in the footer to visit the projectβs repository or the developerβs profile.
Project Structure
SVNfluence is organized for scalability and maintainability:
svnfluence/
βββ cmd/ # Entry point for the application
β βββ main.go # Main application startup
βββ internal/ # Internal application logic
β βββ api/ # API handlers and routes
β β βββ handlers.go # HTTP handlers
β βββ config/ # Configuration settings
β β βββ config.go # Configuration loader
β βββ models/ # Data structures
β β βββ command.go # Command struct
β βββ openai/ # AI integration
β βββ openai.go # OpenAI API calls
βββ templates/ # HTML templates
β βββ search.html
β βββ results.html
βββ static/ # Static assets (CSS, JS, images)
β βββ style.css
βββ go.mod # Go module file
βββ go.sum # Go dependencies
π³ Docker
Run SVNfluence in a container for easy deployment:
Prerequisites
- Docker: Install Docker from docker.com
Build and Run
Build the Docker image:
docker build -t svnfluence:latest .
Run the container with your OpenAI API key:
docker run -d -p 8080:8080 -e OPENAI_API_KEY=your-api-key-here svnfluence:latest
Health Check
SVNfluence includes a health endpoint at /health
. The Dockerfile includes a HEALTHCHECK
to monitor the app:
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:8080/health || exit 1
β οΈ License
SVNfluence is open-source software licensed under the MIT License. See the LICENSE file for details.