Introduction

Rocket is a configuration-driven API framework designed to accelerate backend development by automating standard engineering tasks. By defining models in a structured JSON format, Rocket automatically handles database schema generation, RESTful routing, request validation, and interactive documentation.
Features
- Automated API Generation: Instant creation of CRUD, Search, and Aggregate endpoints from JSON configurations.
- Database Schema Management: Automatic handling of table creation, multi-column indexes, and foreign key constraints.
- Multi-Engine Database Support: Native support for both PostgreSQL and SQLite.
- Interactive Documentation: Integrated Swagger/OpenAPI UI available at the specified documented path.
- Robust Validation: Driven by AJV (JSON Schema) for strict and customizable request validation.
- Advanced Querying: Native support for filtering, sorting, and complex search operations.
Quick Start
1. Installation
Clone the repository and install dependencies:
git clone https://github.com/imdeepmind/rocket.git
cd rocket
npm install
2. Initialize the Server
Start the server using an existing configuration file:
npm run dev -- -c example_config.json
3. API Exploration
Once the server is initialized, refer to the Swagger UI for interactive API documentation: http://localhost:3000/api/docs
Technology Stack
- Runtime: Node.js
- Framework: Fastify
- Architecture: TypeScript
- Database: PostgreSQL and SQLite
- Validation: AJV
- Documentation: Swagger / OpenAPI
- Testing: Vitest