Skip to content

apvee/azure-functions-nodejs-monorepo

Repository files navigation

πŸš€ Azure Functions Node.js Monorepo

Enterprise-Grade Tools & Extensions for Azure Functions V4

Features β€’ Projects β€’ Quick Start β€’ Documentation β€’ Contributing


🌟 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

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages