RaptorSheets.Gig 1.1.2

dotnet add package RaptorSheets.Gig --version 1.1.2
                    
NuGet\Install-Package RaptorSheets.Gig -Version 1.1.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RaptorSheets.Gig" Version="1.1.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RaptorSheets.Gig" Version="1.1.2" />
                    
Directory.Packages.props
<PackageReference Include="RaptorSheets.Gig" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RaptorSheets.Gig --version 1.1.2
                    
#r "nuget: RaptorSheets.Gig, 1.1.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RaptorSheets.Gig@1.1.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RaptorSheets.Gig&version=1.1.2
                    
Install as a Cake Addin
#tool nuget:?package=RaptorSheets.Gig&version=1.1.2
                    
Install as a Cake Tool

RaptorSheets

Badge Name Status Site
Latest Build Status build status GitHub Repo
RaptorSheets.Gig NuGet Nuget Raptor Sheets - Gig
RaptorSheets.Stock NuGet Nuget -
Test Coverage Coverage SonarCloud
Code Quality Quality Gate Status SonarCloud
License License -

๐Ÿš€ Quick Start

# Install the package for your use case
dotnet add package RaptorSheets.Gig      # For gig work tracking
dotnet add package RaptorSheets.Stock    # For stock portfolio management
# dotnet add package RaptorSheets.Core   # Core library (coming soon)
using RaptorSheets.Gig.Managers;

// Initialize with credentials
var manager = new GoogleSheetManager(accessToken, spreadsheetId);

// Create sheets with predefined layouts
await manager.CreateSheets();

// Retrieve all data
var data = await manager.GetSheets();

๐Ÿ“š Project Description

RaptorSheets is a comprehensive .NET 8 library suite that simplifies interactions between custom API services and the Google Sheets API. Built for developers who need powerful spreadsheet integration without the complexity, featuring extensive test coverage and production-ready reliability.

โœจ Key Features

  • ๐Ÿ“‹ Header Management: Extension methods for column and index assignments with automatic processing
  • ๐ŸŽจ Column Formatting: Apply data formatting, configure drop-downs, and set cell protection
  • ๐ŸŽฏ Sheet Styling: Alternating row colors, full sheet protection, and custom tab colors
  • โšก Batch Operations: Efficient bulk operations for large datasets with automatic batching
  • ๐Ÿ”’ Type Safety: Strongly typed entities and enums for all operations
  • โœ… Auto Validation: Automatic header validation with detailed error reporting
  • ๐Ÿ› ๏ธ Error Handling: Comprehensive message system for operation feedback
  • ๐Ÿงช Well Tested: Extensive unit and integration test coverage

๐Ÿ—๏ธ Architecture

Your Application
       โ†“
Package-Specific Manager (Gig, Stock, etc.)
       โ†“
RaptorSheets.Core (GoogleSheetService)
       โ†“
SheetServiceWrapper (API abstraction)
       โ†“
Google Sheets API v4

๐Ÿ’ผ Use Cases

  • Gig Work Tracking: Track trips, shifts, expenses, and earnings across platforms
  • Stock Portfolio: Manage accounts, tickers, and performance data
  • Business Operations: Handle addresses, contacts, regions, and services
  • Data Analytics: Generate daily, weekly, monthly, and yearly reports
  • Custom Integrations: Build your own sheet types using the Core library

๐Ÿ“– Documentation

Choose the documentation that matches your needs:

Documentation Purpose Audience
๐Ÿ“š Complete Guide Comprehensive overview and getting started All users
๐Ÿ”ง Core Library Core functionality and custom implementations Library developers
๐Ÿ’ผ Gig Package Gig work and freelance tracking Gig workers, freelancers
๐Ÿ“ˆ Stock Package Stock portfolio management Investors, traders
๐Ÿ” Authentication Setup guide for Google APIs All users

๐Ÿ“ฆ Available Packages

Package Version Purpose Dependencies Documentation
RaptorSheets.Gig NuGet Gig work and freelance tracking Google.Apis.Sheets.v4, Google.Apis.Drive.v3 ๐Ÿ’ผ Gig Docs
RaptorSheets.Stock NuGet Stock market data management Google.Apis.Sheets.v4 ๐Ÿ“ˆ Stock Docs
RaptorSheets.Core Coming Soon Core functionality for custom implementations Google.Apis.Sheets.v4 ๐Ÿ”ง Core Docs
RaptorSheets.Common - Shared utilities (included in packages) - -

๐Ÿ” Authentication

RaptorSheets supports multiple authentication methods. Here's a quick example:

var credentials = new Dictionary<string, string>
{
    ["type"] = "service_account",
    ["private_key_id"] = "your-key-id",
    ["private_key"] = "your-private-key", 
    ["client_email"] = "service@project.iam.gserviceaccount.com",
    ["client_id"] = "your-client-id"
};

var manager = new GoogleSheetManager(credentials, spreadsheetId);

?? Complete Authentication Guide

?? Usage Examples

Gig Work Tracking

using RaptorSheets.Gig.Managers;
using RaptorSheets.Gig.Entities;

var manager = new GoogleSheetManager(credentials, spreadsheetId);

// Record a trip
var trip = new TripEntity
{
    Date = "2024-01-15",
    Service = "DoorDash",
    Pay = 8.50m,
    Tip = 3.00m,
    Distance = 2.5m
};

var result = await manager.ChangeSheetData(["Trips"], new SheetEntity { Trips = [trip] });

Stock Portfolio Management

using RaptorSheets.Stock.Managers;
using RaptorSheets.Stock.Entities;

var manager = new GoogleSheetManager(credentials, spreadsheetId);

// Record a stock transaction
var account = new AccountEntity
{
    Account = "Brokerage-401k",
    Stocks = 10,
    Shares = 100,
    AverageCost = 50.25m
};

var result = await manager.ChangeSheetData(["Accounts"], new SheetEntity { Accounts = [account] });

Custom Implementation (Using Core)

using RaptorSheets.Core.Services;
using RaptorSheets.Core.Models.Google;

var service = new GoogleSheetService(credentials, spreadsheetId);

// Create custom sheet structure
var sheetModel = new SheetModel
{
    Name = "CustomSheet",
    Headers = new List<SheetCellModel>
    {
        new() { Name = "ID", Format = FormatEnum.NUMBER },
        new() { Name = "Description", Format = FormatEnum.TEXT }
    }
};

// Generate and execute requests (see Core docs for details)

??? Development Setup

Prerequisites

  • .NET 8.0 SDK or later
  • Google Cloud Project with Sheets API enabled
  • Service Account credentials (recommended) or OAuth2 setup

Quick Setup

git clone https://github.com/khanjal/RaptorSheets.git
cd RaptorSheets
dotnet restore
dotnet build
dotnet test

?? Complete Development Guide

?? Testing

The library includes comprehensive test coverage across all packages:

# Run all tests
dotnet test

# Run package-specific tests
dotnet test RaptorSheets.Core.Tests/
dotnet test RaptorSheets.Gig.Tests/
dotnet test RaptorSheets.Stock.Tests/

# Run with coverage
dotnet test --collect:"XPlat Code Coverage"

Test Coverage Areas:

  • ? Core functionality and services
  • ? Package-specific implementations
  • ? Authentication methods
  • ? Error handling and validation
  • ? Extension methods and utilities
  • ? Real Google Sheets API integration

?? Performance & API Limits

Google Sheets API Quotas

  • Read/Write requests: 100 requests per 100 seconds per user
  • Daily requests: 50,000 requests per day

Library Optimizations

  • ? Automatic request batching
  • ? Efficient data retrieval strategies
  • ? Smart caching mechanisms
  • ? Rate limit handling with retries

?? Contributing

We welcome contributions to any package in the RaptorSheets suite!

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Choose your focus area:
    • Core Library: Enhance base functionality
    • Gig Package: Add gig work features
    • Stock Package: Improve portfolio management
    • New Package: Create a new domain-specific package
  4. Write comprehensive tests
  5. Update relevant documentation
  6. Ensure all tests pass (dotnet test)
  7. Submit a Pull Request

Code Standards

  • Follow existing patterns within each package
  • Maintain backward compatibility for Core library
  • Add package-specific tests for new features
  • Update package-specific documentation
  • Use appropriate XML documentation

?? License

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

?? Support & Resources

Documentation

Community & Support

?? Roadmap

Core Library

  • ?? Independent NuGet package release
  • ?? Enhanced authentication flows
  • ?? Plugin architecture for custom packages

Package Ecosystem

  • ?? Advanced analytics across all packages
  • ?? Multi-language localization support
  • ?? Mobile-optimized implementations
  • ?? Enterprise features and compliance

New Packages

  • ?? Business expense tracking
  • ?? Project management and time tracking
  • ?? Real estate portfolio management
  • ?? Inventory management systems

Made with ?? by Iron Raptor Digital

API Documentation

For details on the underlying Google Sheets API concepts used in this project, see the official documentation:

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.2 99 8/24/2025
1.1.1 149 6/4/2025
1.1.0 150 6/1/2025
1.0.29 147 6/1/2025
1.0.28 144 6/1/2025
1.0.27 101 6/1/2025
1.0.26 106 4/26/2025
1.0.25 90 4/26/2025
1.0.24 184 4/8/2025
1.0.23 164 4/7/2025
1.0.22 174 4/6/2025
1.0.21 159 4/6/2025
1.0.20 145 4/6/2025
1.0.19 144 4/6/2025
1.0.18 174 4/3/2025
1.0.17 168 4/2/2025
1.0.16 181 4/2/2025
1.0.15 162 4/1/2025
1.0.14 158 4/1/2025
1.0.13 162 4/1/2025
1.0.12 165 4/1/2025
1.0.11 160 4/1/2025
1.0.10 145 3/21/2025
1.0.9 178 3/11/2025
1.0.8 203 3/3/2025
1.0.7 118 2/27/2025
1.0.6 111 2/26/2025
1.0.5 123 2/15/2025
1.0.4 119 2/15/2025
1.0.3 128 2/14/2025
1.0.2 135 2/11/2025
1.0.1 116 2/11/2025