Skip to content

πŸ’‘ πŸ—οΈ A boilerplate API client template for .NET API clients wrappers

License

Notifications You must be signed in to change notification settings

GuilhermeStracini/apiclient-boilerplate-dotnet

Repository files navigation

πŸš€ API Client Boilerplate Template for .NET πŸ”·

πŸ—οΈ A modern and easy-to-use boilerplate for building .NET API client wrappers (also known as SDKs).


🌟 About

This repository is a template designed to kickstart your journey in creating robust API client wrappers using .NET C#.
Save time and effort with a preconfigured solution that includes essential tools and CI pipeline setup.

πŸ”§ Key features:

  • πŸ› οΈ .NET Solution Setup: Ready-to-use structure for source code, unit tests, and integration tests.
  • βœ… CI Integration: Includes a sample AppVeyor CI pipeline configuration with appveyor.yml.

    πŸ’‘ Tip: AppVeyor is free for open-source projects. Consider alternatives like GitHub Actions, CircleCI, or Azure DevOps for private repositories.


πŸš€ Getting Started

⚑ Automated Setup

Follow these quick steps for a hassle-free experience:

  1. Click the green "Use this template" button at the top.
  2. Name your new repository and clone it to your machine.
  3. Run the initial setup script:
    • πŸͺŸ On Windows: Execute initial-setup.bat or initial-setup.ps1
    • 🐧 On Linux/Mac: Execute initial-setup.sh
  4. Follow the prompts and enjoy! πŸŽ‰

πŸ› οΈ Manual Setup

Would you prefer to do it step-by-step? No problem!

  1. Click the green "Use this template" button.

  2. Clone your newly created repository.

  3. Delete this file (README.md) and rename README.template.md to README.md.

  4. Update the following files with your project details:

    • appveyor.yml β†’ Add secure tokens or configure your preferred CI tool.
    • SolutionName.sln β†’ Replace with your solution name.
    • Project files (SolutionName.csproj, SolutionName.Tests.csproj, SolutionName.IntegrationTests.csproj).
      • Update namespaces and project names inside the Src and Tests directories.
    • README.md β†’ Fix badge paths ({username}/{repo}) and add usage instructions.
    • _config.yml β†’ Update with project details for the GitHub Pages documentation site.
  5. βš™οΈ Final touches:

    • Adjust test project references in Tests/SolutionName.Tests.csproj and Tests/SolutionName.IntegrationTests.csproj.
    • Update the package name in your main project file.

🏷️ License

πŸ“„ This project is licensed under the MIT License.
Feel free to use it as is or replace it with a license that suits your needs.

πŸ”— View LICENSE | Read More About MIT


πŸŽ‰ Contribute & Customize

πŸ’¬ Questions? Ideas? Open an issue or fork this repository to make it your own!
Don't forget to ⭐ star the project if this template saved you time. πŸ˜„


πŸ”· Happy Coding in .NET! 🎯