RaptorSheets.Gig
1.1.2
dotnet add package RaptorSheets.Gig --version 1.1.2
NuGet\Install-Package RaptorSheets.Gig -Version 1.1.2
<PackageReference Include="RaptorSheets.Gig" Version="1.1.2" />
<PackageVersion Include="RaptorSheets.Gig" Version="1.1.2" />
<PackageReference Include="RaptorSheets.Gig" />
paket add RaptorSheets.Gig --version 1.1.2
#r "nuget: RaptorSheets.Gig, 1.1.2"
#:package RaptorSheets.Gig@1.1.2
#addin nuget:?package=RaptorSheets.Gig&version=1.1.2
#tool nuget:?package=RaptorSheets.Gig&version=1.1.2
RaptorSheets
Badge Name | Status | Site |
---|---|---|
Latest Build Status | GitHub Repo | |
RaptorSheets.Gig NuGet | Raptor Sheets - Gig | |
RaptorSheets.Stock NuGet | - | |
Test Coverage | SonarCloud | |
Code Quality | SonarCloud | |
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 | Gig work and freelance tracking | Google.Apis.Sheets.v4, Google.Apis.Drive.v3 | ๐ผ Gig Docs | |
RaptorSheets.Stock | 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:
Service Account (Recommended)
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
?? 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - 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
- Write comprehensive tests
- Update relevant documentation
- Ensure all tests pass (
dotnet test
) - 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
- ?? Complete Guide - Overview and getting started
- ?? Core Library - Core functionality reference
- ?? Gig Package - Gig work tracking guide
- ?? Stock Package - Portfolio management guide
- ?? Authentication - Setup instructions
Community & Support
- ?? Report Issues - Bug reports and feature requests
- ?? Discussions - Community support and questions
- ?? Google Sheets API Reference - Official API documentation
- ?? Project Homepage - Additional resources and examples
?? 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 | Versions 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. |
-
net8.0
- Google.Apis.Drive.v3 (>= 1.69.0.3703)
- Google.Apis.Sheets.v4 (>= 1.69.0.3694)
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 |