Skip to content

spaarke-dev/spaarke

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

475 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spaarke - SharePoint Document Access Platform (SDAP)

A modern, enterprise-grade SharePoint Embedded integration platform built with .NET 8, Power Platform, and Microsoft Graph.

🏗️ Architecture Overview

SDAP provides secure, scalable document management through SharePoint Embedded with comprehensive Power Platform integration, featuring clean architecture, thin plugins, and robust authorization patterns.

Core Components

  • 🔌 SharePoint Embedded API: .NET 8 Minimal API with Graph SDK v5
  • ⚡ Power Platform Plugins: Lightweight validation and projection plugins (<50ms)
  • 🔐 Authorization Framework: Rule-based access control with secure defaults
  • 📊 Monitoring & Observability: Structured logging with correlation tracking
  • 🧪 Comprehensive Testing: Unit, integration, and end-to-end test coverage

📂 Repository Structure

The repository is organized as follows:

artifacts/          # Build artifacts (zips, packages)
config/             # Configuration files (local settings, props)
docs/               # Documentation (ADRs, guides, project management)
scripts/            # Build, deploy, and utility scripts
src/
  client/           # Client-side components
    canvas-apps/    # Canvas Apps source
    model-driven-apps/ # Model Driven Apps source
    pcf/            # PCF Controls (UniversalQuickCreate, etc.)
    power-pages/    # Power Pages sites
    webresources/   # Web Resources (JavaScript, HTML)
  server/           # Server-side components
    plugins/        # Dataverse Plugins (C#)
  solutions/        # Dataverse Solution projects
tests/              # Unit and Integration tests
tools/              # Development tools (PAC CLI, Postman)

🚀 Quick Start

Prerequisites

  • .NET 8 SDK
  • .NET Framework 4.8 Developer Pack
  • Visual Studio 2022 or VS Code
  • Azure CLI

Get Started

# Clone repository
git clone https://github.com/spaarke-dev/spaarke.git
cd spaarke

# Restore packages
dotnet restore

# Build solution
dotnet build

# Run API
dotnet run --project src/server/api/Sprk.Bff.Api/

API Available: https://localhost:5001

🔧 Development Environment

Local Configuration

Create these files in the config/ directory:

// config/azure-config.local.json
{
  "ClientId": "your-client-id",
  "TenantId": "your-tenant-id"
}

// config/sharepoint-config.local.json
{
  "SiteUrl": "your-sharepoint-site",
  "ClientId": "your-spe-client-id"
}

Health Checks

  • Ping: GET /ping - Service information
  • Health: GET /healthz - Dependency health status

📚 Documentation

🎯 Essential Reading

🏛️ Architecture Decisions (ADRs)

  • ADR-002 - Thin plugin architecture (<50ms, <200 LoC)
  • All ADRs - Complete architectural decision record

🧪 Testing

# Run all tests
dotnet test --collect:"XPlat Code Coverage"

# Run specific test suite
dotnet test tests/unit/Sprk.Bff.Api.Tests/

🤝 Contributing

  1. Review: Project Restart Guide
  2. Follow: Architecture Decision Records (ADRs)
  3. Test: Comprehensive testing required
  4. Document: Update relevant documentation

Built with: .NET 8 • Microsoft Graph • SharePoint Embedded • Power Platform • Azure

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5