SoapJS
  • SoapJS Framework
  • Clean Architecture
  • Quick Start
  • Components
    • Entity
    • Model
    • Repository
    • Collection
    • Mapper
    • Use Case
    • Controller
    • Route
    • RouteIO
    • Route Model
    • Router
    • Dependencies
    • Service
    • Toolset
  • Configuration
    • Introduction to Configuration Files
    • Plugin Configuration Structure Overview
    • Modifying Project Structure and Components
  • Examples
    • Simple API
    • Database Interaction Strategies
      • Using Where Conditions
      • Using QueryBuilder
      • Using Dedicated Repository Method
  • Plugins
    • Node.js
      • Soap Express
      • Soap AWS
      • Soap NestJS
      • Soap MongoDB
      • Soap Redis
      • Soap Mysql
    • Dart
      • Soap Dart
  • Troubleshooting and Support
  • Community and Contributions
  • Contact us
  • Sponsors / Partners
  • Release Notes
Powered by GitBook
On this page
  • What is SoapJS?
  • Goals and Principles
  • Key Features
  • Who is it for?

SoapJS Framework

What is SoapJS?

SoapJS is a lightweight, flexible framework designed to simplify the development of applications across various platforms, emphasizing the principles of clean architecture. The core philosophy behind SoapJS is to separate logic from the rest of the codebase, such as web frameworks or the execution environment, enabling seamless portability and adaptability of the code across different frameworks without modification. This approach addresses common challenges developers face, such as the need to rewrite code due to deep integration within specific frameworks.

Goals and Principles

The primary goal of SoapJS is to provide developers with a tool that supports the creation of clean, maintainable, and scalable applications by following clean architecture principles. By decoupling business logic from external frameworks and services, SoapJS aims to enhance code reusability, reduce tight coupling, and improve the overall development experience.

Key principles of SoapJS include:

  • Separation of Concerns: Ensuring clear separation between business logic, data access, and user interface.

  • Framework Agnosticism: Allowing developers to use any frameworks of their choice without being tied to specific implementations.

  • Modularity and Plugability: Offering various plugins for popular frameworks and services like Express and AWS Lambdas while maintaining the optionality and lightweight nature of the core package.

  • Configurability: Providing customizable configuration files to adapt the project structure and components to different organizational needs and interpretations of clean architecture.

Key Features

SoapJS is distinguished by several key features:

  • Lightweight Core: The core package focuses solely on clean architecture components, making it compact and efficient.

  • Flexible Plugin System: Developers are not restricted to predefined plugins and can choose or develop plugins that best fit their project requirements.

  • CLI Support: The Command Line Interface (CLI) facilitates code generation through options, an interactive form, or JSON file input, streamlining the development process.

  • Customizable Configuration: Users can modify directory structures, file settings, and default content to align with their project's needs and coding standards.

  • AI Assistant (Future Feature): SoapJS is working towards integrating an AI assistant to further aid development and decision-making processes.

Who is it for?

SoapJS is designed for developers who seek to build applications adhering to clean architecture principles, requiring a scalable, adaptable, and maintainable codebase. It is suitable for both novice and experienced developers who value flexibility, modularity, and the ability to customize their development environment according to their project needs.

NextClean Architecture

Last updated 1 year ago