Welcome to AzuraJS
A modern, fast, and TypeScript-first web framework for Node.js and Bun
Welcome to AzuraJS âĄ
AzuraJS is a modern, high-performance web framework for Node.js and Bun that brings the power of TypeScript decorators to backend development. Build elegant, type-safe APIs with a clean and intuitive syntax.
ðŊ Who is AzuraJS for?
Perfect for developers who want to build fast, robust REST APIs with TypeScript, without the complexity of larger frameworks.
âĻ Why Choose AzuraJS?
ðŊ TypeScript Decorators
Organize your code with modern decorators - elegant syntax that makes your APIs more readable and maintainable
ð Exceptional Performance
Built from scratch for maximum speed, with minimal overhead and zero unnecessary external dependencies
ðĶ Zero Dependencies
Lightweight and efficient - only 1 core dependency. No bloated node_modules folder
ð§ TypeScript First
Designed with TypeScript from day one, with complete types, perfect IntelliSense, and compile-time safety
ð Express Compatible
Use middlewares and plugins from the Express ecosystem - leverage thousands of ready-made solutions
âïļ Flexible Configuration
Configure via TypeScript, JSON, or YAML files - choose your preferred format
ðĻ Key Features
AzuraJS comes with everything you need to build professional APIs:
ð Smart Parameter Injection
Powerful decorators like @Body, @Query, @Param, @Req, @Res, @Headers, @Cookies and more - access request data elegantly and type-safely.
â Built-in Validation
Complete DTO and schema validation system with type safety. Validate data automatically before processing requests.
ðŠ Cookie Management
Native cookie parser and serializer - work with cookies simply and securely, without extra packages.
ð Configurable CORS
Production-ready CORS plugin with flexible configuration - protect your API and control access easily.
ðĄïļ Built-in Rate Limiting
Protect your application against abuse and DDoS with configurable per-route rate limiting.
⥠Cluster Mode
Leverage all CPU cores with native cluster support - maximize production performance.
ð Contextual Logging
Smart logging system that adapts to the environment - verbose in development, concise in production.
ðĻ Robust Error Handling
HttpError class and error middleware for structured and consistent exception handling.
ð See How Simple It Is
Here's a complete CRUD API example in less than 30 lines:
import { AzuraClient } from "azurajs";
import { applyDecorators } from "azurajs/decorators";
import { Controller, Get, Post, Body, Param } from "azurajs/decorators";
@Controller("/api/users")
class UserController {
// GET /api/users - List all users
@Get()
getAllUsers() {
return { users: ["Alice", "Bob", "Charlie"] };
}
// GET /api/users/:id - Get user by ID
@Get("/:id")
getUser(@Param("id") id: string) {
return { id, name: `User ${id}` };
}
// POST /api/users - Create new user
@Post()
createUser(@Body() data: any) {
return {
id: Date.now(),
...data,
createdAt: new Date().toISOString()
};
}
}
// Initialize and register controllers
const app = new AzuraClient();
applyDecorators(app, [UserController]);
// Start the server
await app.listen(3000);
console.log("ð API running at http://localhost:3000");Done! Your API is now running with complete REST routes, type validation, and organized structure.
ð Next Steps
Start your journey with AzuraJS by following these guides:
ðĶ Installation
Install AzuraJS and set up your development environment in minutes
ð Quick Start
Build your first complete REST API following our step-by-step tutorial
âïļ Configuration
Explore all configuration options and customize your server
ðŊ Controllers
Master the controller pattern and organize your code professionally
ðĄ Key Differences
AzuraJS vs Express
Express is great, but AzuraJS adds:
- ðŊ TypeScript decorators for cleaner code
- ðĶ Zero unnecessary dependencies
- â Native type-safe validation
- ð Better out-of-the-box performance
- ð§ Centralized, structured configuration
AzuraJS vs NestJS
NestJS is powerful, but AzuraJS offers:
- ðŠķ Much lighter (no Angular/RxJS overhead)
- ðĻ Simpler, more direct syntax
- ⥠Faster startup time
- ð Lower learning curve
- ðŊ Focus on APIs, not complex frameworks
ð Community
AzuraJS is open source and welcomes contributions! Join our community:
- â GitHub Repository
- ðĶ NPM Package
- ð Report Issues
- ðŽ Discussions
Ready to build something amazing? Let's get started! ð
