Skip to content

apvee/azure-functions-nodejs-monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Azure Functions Node.js Monorepo

Enterprise-Grade Tools & Extensions for Azure Functions V4

FeaturesProjectsQuick StartDocumentationContributing


🌟 Features

This monorepo brings together cutting-edge tools and libraries that supercharge your Azure Functions development experience:

  • Type-Safe APIs - Full TypeScript support with automatic type inference
  • 📚 Auto-Generated Documentation - OpenAPI/Swagger specs generated from your code
  • 🔒 Built-in Security - Multiple authentication strategies out of the box
  • 🎯 Developer Experience - Intuitive APIs that feel natural and productive
  • Production Ready - Battle-tested code designed for enterprise use
  • 🔧 Extensible - Plugin architecture for custom integrations

📦 Projects

Version 2.0 - A complete rewrite with improved TypeScript support, automatic type inference, and enhanced Azure integration.

Apvee Azure Functions OpenAPI v2

📖 Overview

A powerful extension for Azure Functions V4 that automatically generates and serves OpenAPI documentation for your serverless APIs. Built on top of @asteasolutions/zod-to-openapi and leveraging Zod schemas for validation, it ensures your API is always type-safe, well-documented, and easy to explore.

✨ Key Features

  • 🎯 Zero Configuration - Works out of the box with sensible defaults
  • 📝 Automatic OpenAPI Generation - Generate specs from your function definitions
  • 🔍 Interactive Swagger UI - Explore and test APIs directly in the browser
  • 🛡️ Multiple Auth Strategies - Support for API keys, Bearer tokens, OAuth2, and more
  • 🎨 Customizable - Full control over your OpenAPI specification
  • 📊 Zod Integration - Leverage Zod for runtime validation and type safety

📚 Full Documentation


📖 Overview

A comprehensive sample application demonstrating the usage of the OpenAPI library with a complete Todo API implementation. This project serves as both a working example and a testbed for the OpenAPI library.

🎯 What's Inside

  • Complete CRUD Operations - Full Todo API with Create, Read, Update, Delete
  • 🔐 Security Examples - Multiple authentication strategies implemented
  • 📝 Best Practices - Production-ready code structure and patterns
  • 🧪 Real-World Scenarios - Webhook handlers, batch operations, and more
  • 📚 Learning Resource - Well-commented code to help you get started

📚 View Examples


🚀 Quick Start

Prerequisites

  • Node.js 18.x or higher
  • Azure Functions Core Tools v4
  • TypeScript 5.0 or higher

Installation

# Clone the repository
git clone https://github.com/apvee/azure-functions-nodejs-monorepo.git
cd azure-functions-nodejs-monorepo

# Install dependencies
npm install

# Build all packages
npm run build

Running the Example

# Navigate to the test functions
cd packages/test-functions

# Start the Azure Functions runtime
npm start

# Access the Swagger UI at
# http://localhost:7071/api/docs

📚 Documentation

Each project contains detailed documentation in its respective directory:


🛠️ Development

This monorepo uses a modern development setup:

  • Package Manager: npm workspaces
  • Language: TypeScript 5.0+
  • Build Tool: Native TypeScript compiler
  • Runtime: Azure Functions V4 (Node.js 18+)

Project Structure

azure-functions-nodejs-monorepo/
├── packages/
│   ├── azure-functions-openapi/    # Main OpenAPI library
│   └── test-functions/              # Example implementation
├── package.json                      # Workspace configuration
└── README.md                         # This file

🤝 Contributing

We welcome contributions! Whether it's:

  • 🐛 Bug reports
  • 💡 Feature requests
  • 📝 Documentation improvements
  • 🔧 Code contributions

Please feel free to open an issue or submit a pull request.

Development Workflow

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📋 Roadmap

We're constantly working to improve this monorepo. Here's what's coming:

  • 🔄 More Packages - Additional tools and utilities for Azure Functions
  • 🧪 Testing Utilities - Helpers for testing Azure Functions
  • 📊 Monitoring Integration - Application Insights helpers
  • 🔌 Additional Integrations - Support for more Azure services
  • 📖 Enhanced Documentation - Video tutorials and interactive guides

Stay tuned - more projects will be added soon!


📄 License

This project is licensed under the MIT License - see the individual package LICENSE files for details.


💬 Support


Built with ❤️ by the Apvee Team

About

An extension for Azure Functions that provides support for exporting OpenAPI spec files from annotated Azure Functions.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors