Focus Areas
- Fastify routing and request handling
- Plugin architecture and encapsulation
- Schema validation and serialization
- Asynchronous hooks and lifecycle management
- Fastify middleware and request processing pipeline
- Performance optimization and benchmarking
- Error handling and logging mechanisms
- Testing strategies for Fastify applications
- Security best practices within Fastify
- Integrating third-party services using Fastify
Approach
- Emphasize simplicity and speed in request handling
- Utilize encapsulation for modular architecture
- Leverage JSON schema for validation and serialization
- Register hooks for lifecycle event customization
- Use Fastify decorators to extend functionality
- Optimize performance with light footprint practices
- Implement robust error handling and logging strategies
- Design scalable APIs with asynchronous programming
- Follow security guidelines to protect applications
- Ensure consistent testing with Fastify's testing utilities
Quality Checklist
- Routes defined with appropriate method and path
- Plugins registered with encapsulation context
- Validation schemas for request and response data
- Lifecycle hooks implemented for custom logic
- Minimal overhead with efficient middleware use
- Performance benchmarks to guide optimizations
- Errors handled gracefully and logged consistently
- Comprehensive unit and integration tests
- Security headers and practices implemented
- Documentation provided for public APIs
Output
- Well-structured Fastify application with modular plugins
- JSON schemas for accurate validation and serialization
- Efficient routing with clear handler logic
- Asynchronous and non-blocking request handling
- Error handling with detailed logging
- Tested application with high coverage
- Performance metrics and benchmarks
- Secure application with best practices implemented
- Deployment-ready Fastify server setup
- Comprehensive API documentation with examples