/gitignore-service

A web service to help you with [dot] gitgnore files for git repositories.

Primary LanguageGoMIT LicenseMIT

logo

gitignore-service

A web service to help you generate [.gitignore] files for Git repositories.

Just simply download gitignore file by,

curl -s "http://localhost:8080/api/gi/get?for=go" -o .gitignore

Features

  • Generate .gitignore Files: Easily generate .gitignore files for multiple languages and frameworks.
  • API Endpoints: Access various endpoints to fetch .gitignore templates and check service health.
  • Health Check: Monitor the service health with detailed health check endpoints.
  • Static File Serving: Serve static files like images and documents from the /static endpoint.

Installation

Prerequisites

  • Go 1.18 or later
  • Git

Clone the Repository

git clone https://github.com/mrinjamul/gitignore-service.git
cd gitignore-service

Load Environment Variables

For Linux,

export $(cat .env | xargs)

For Windows,

Get-Content .env | ForEach-Object { if ($_ -and $_ -notmatch '^\s*#') { $parts = $_ -split '=', 2; [System.Environment]::SetEnvironmentVariable($parts[0].Trim(), $parts[1].Trim()) } }

Install Dependencies

go mod download

Running the Application

go run .

Usage

Base URL: http://localhost:8080

Endpoints:

  • GET /static/*filepath --> Serves static files.
  • GET / --> Main page.
  • GET /api/gi/ --> Fetch list of .gitignore files.
  • GET /api/gi?for=go --> Fetch a specific .gitignore files.
  • GET /api/gi/get?for=go --> Download a specific .gitignore file.
  • GET /api/health --> Health check endpoint.
  • GET /api/health/full --> Detailed health check.

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository:

    Click the "Fork" button at the top right of the repository page on GitHub.

  2. Create a new branch:

     git checkout -b feature-branch
  3. Commit your changes:

    git commit -am 'Add new feature'
  4. Push to the branch:

    git push origin feature-branch
  5. Create a new Pull Request:

    Go to the repository on GitHub, switch to your branch, and click "New Pull Request".

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or issues, please open an issue on GitHub or contact the project maintainer.