This document provides a comprehensive overview of LEEGOO BUILDER G3, covering its core architecture, technological foundation, and key components. Whether used as a desktop application, a web API, or a fully web-based solution, LEEGOO BUILDER G3 ensures efficient product configuration, seamless database interactions, and a scalable user experience.
LEEGOO BUILDER G3 is a Windows-based desktop application designed to help users configure complex products and generate accurate price quotes. While the software operates on a user’s local computer / terminal server, it directly connects to a Microsoft SQL Server database to store and retrieve data.
To ensure efficiency and stability, the application is built using a separation layers between the user interface and the database operations. This means that:
This section outlines the key technologies used in the development of LEEGOO BUILDER G3, including programming languages, frameworks, and design patterns, emphasizing their roles in ensuring robustness and user experience.
LEEGOO BUILDER G3 is built on a modern and robust technology stack to ensure a seamless user experience, high performance, and reliability. The following core technologies are used in its development:
Description | Links | ||
---|---|---|---|
Programming Language | C# | C# is a modern, object-oriented language that ensures structured and maintainable development. As part of the .NET ecosystem, it integrates seamlessly with frameworks like WPF, enabling rich user interfaces. With strong typing, automatic memory management, and efficient JIT compilation, it enhances security and performance. Its built-in support for SQL Server allows smooth database access without extra installations, making it a reliable choice for enterprise applications like LEEGOO BUILDER G3. | |
User Interface | WPF | WPF (Windows Presentation Foundation) is a powerful UI framework for building modern, visually rich Windows applications. It supports scalable vector graphics, data binding, and a flexible layout system, making UI development more dynamic and responsive. With built-in support for MVVM (Model-View-ViewModel), WPF ensures a clear separation between UI and logic, enhancing maintainability. | WPF - Wiki |
UI Elements | DevExpress WPF | DevExpress WPF controls enhance the standard WPF framework by providing a rich set of UI components, including advanced data grids, charts, and form elements. These controls offer high performance, seamless styling, and extensive customization options, making it easier to create modern, professional-looking applications. With built-in MVVM support and optimized rendering, DevExpress WPF simplifies complex UI development while ensuring a smooth user experience. | DevExpress WPF |
In the modern software world, applications often need to communicate with each other to exchange data and functionality. This is where APIs (Application Programming Interfaces) come into play. An API acts as a bridge that allows different applications to interact without exposing their internal workings. Instead of directly accessing a database or internal logic, external systems send requests to the API, which processes them and returns the necessary data.
The LEEGOO BUILDER G3 Web API extends the functionality of the LEEGOO BUILDER G3 Desktop Application by making its logic accessible via the web. This means that the web application can access the same business logic and data as the desktop version, ensuring consistency between both platforms. Instead of each application managing its own database connections, the API handles all data transactions, ensuring security, maintainability, and centralized control.
By using the Web API, different systems—such as external applications, web-based tools, or integrations—can interact with LEEGOO BUILDER G3 efficiently. This approach provides multiple benefits:
Through this architecture, the LEEGOO BUILDER G3 Web API ensures that both the desktop and web applications provide the same powerful features while maintaining a unified, secure, and efficient way to access the database.
Description | Links | ||
---|---|---|---|
Programming Language | C# | C# is a modern, object-oriented language that ensures structured and maintainable development. As part of the .NET ecosystem, it integrates seamlessly with frameworks like WPF, enabling rich user interfaces. With strong typing, automatic memory management, and efficient JIT compilation, it enhances security and performance. | |
Architecture | REST | REST (Representational State Transfer) is a widely used architecture for web services, enabling simple, scalable, and stateless communication via standard HTTP methods (GET, POST, PUT, DELETE). It ensures high compatibility across platforms, allowing seamless interaction between systems. Being stateless, REST improves performance and scalability by avoiding session storage on the server. Additionally, it supports multiple data formats like JSON and XML, making it flexible for various applications. | REST - Wiki |
Transmission | XML, JSON, Protobuf | XML, JSON, and Protobuf are widely used data transmission formats, each offering distinct advantages. XML is highly structured and human-readable, making it ideal for document-based exchanges. JSON is lightweight and widely used in web applications due to its simplicity and fast parsing. Protobuf (Protocol Buffers) is a compact, binary format optimized for high performance and efficiency, making it ideal for large-scale data exchanges. Supporting multiple formats ensures flexibility, compatibility, and efficiency across different systems and use cases. | XML - Wiki JSON - Wiki Protobuf - Wiki |
Clients | .NET Core, JavaScript, TypeScript | .NET Core, JavaScript, and TypeScript are powerful client technologies for accessing the API. .NET Core provides seamless integration for C# applications, ensuring high performance and strong typing. JavaScript is widely used in web development, offering flexibility and broad compatibility. TypeScript, a superset of JavaScript, adds static typing and better tooling, improving maintainability and reliability. Supporting these technologies enables versatile, scalable, and efficient client interactions with the API. | .NET Core - Wiki JavaScript - Wiki TypeScript |
Authentication | JWT | JWT (JSON Web Token) authentication offers a secure, compact, and efficient way to verify user identity. It enables stateless authentication, reducing server load and improving scalability. The token-based approach allows easy integration across different platforms and services, making it ideal for web and mobile applications. With built-in encryption and signature verification, JWT ensures data integrity and security, preventing tampering and unauthorized access. | JWT - Wiki |
Documentation | OpenAPI-Swagger | OpenAPI-Swagger simplifies API documentation, testing, and integration by providing a clear, machine-readable specification. It enables automatic generation of client SDKs, making it easier for developers to interact with the API. With its interactive UI, users can explore endpoints, test requests, and understand API behavior without additional tools. This improves developer productivity, reduces errors, and enhances maintainability. | SWAGGER |
The LEEGOO BUILDER G3 Web Application aims to bring the functionality of the desktop version to the web, ensuring greater accessibility and flexibility. It is available in two variants: Blazor Server and Blazor WebAssembly (WASM).
The Blazor Server version processes most of the logic on the server, with only the user interface running in the browser. A dedicated server application acts as an intermediary between the browser and the API, ensuring efficient communication and centralized processing.
The Blazor WebAssembly version, on the other hand, runs entirely in the browser, allowing direct communication with the LEEGOO BUILDER G3 API. This enables a more responsive experience and reduces server load, making it ideal for distributed environments.
Both approaches leverage the same core logic as the LEEGOO BUILDER G3 Desktop Application, ensuring data consistency and business rules across platforms. The ultimate goal is to make all G3 features available on the web, providing users with a seamless and complete experience.
The architecture of the web application emphasizes modularity and scalability, using modern frameworks and tools to ensure efficient performance and a seamless user experience.
Description | Links | ||
---|---|---|---|
Programming Language | C# | C# is a modern, object-oriented language that ensures structured and maintainable development. As part of the .NET ecosystem, it integrates seamlessly with frameworks like WPF, enabling rich user interfaces. With strong typing, automatic memory management, and efficient JIT compilation, it enhances security and performance. | |
User Interface | ASP.NET Core and Blazor | ASP.NET Core and Blazor provide a modern, high-performance framework for building web applications using C#. ASP.NET Core is lightweight, cross-platform, and optimized for speed, making it ideal for scalable web applications. Blazor allows developers to build interactive web UIs using C# instead of JavaScript, enabling code reuse between client and server. With Blazor WebAssembly, applications can run directly in the browser, reducing server load, while Blazor Server ensures fast rendering with a persistent connection. Together, they provide a flexible, efficient, and future-proof solution for web development. | ASP.NET Core - Wiki Blazor - Wiki |
Connection from Server to Client | Web-API REST | REST (Representational State Transfer) is a widely used architecture for web services, enabling simple, scalable, and stateless communication via standard HTTP methods (GET, POST, PUT, DELETE). It ensures high compatibility across platforms, allowing seamless interaction between systems. Being stateless, REST improves performance and scalability by avoiding session storage on the server. Additionally, it supports multiple data formats like JSON and XML, making it flexible for various applications. | Web Service - Wiki |
UI Elements | Syncfusion Blazor | Syncfusion Blazor UI components enhance Blazor applications by providing a rich set of high-performance, customizable UI controls. These components include grids, charts, form inputs, and navigation elements, enabling a modern and responsive user experience. Designed for seamless integration with Blazor Server and Blazor WebAssembly, they support data binding, accessibility, and theming out of the box. Their optimized rendering ensures fast performance even with large datasets, reducing development time while maintaining a professional and polished UI. | Syncfusion - Blazor |
The architecture of LEEGOO BUILDER G3 is designed to provide a flexible solution for both desktop and web-based applications. At its core, the system relies on a SQL database, which is accessed through multiple Data Access Layers (DALs). These layers include ADO.NET, Entity Framework, and a Dynamic Entity Framework for custom implementations, ensuring efficient database communication.
The Business Layer acts as the central processing unit, managing data processing and logic execution. Both the Windows WPF desktop application and the Web API interact with this layer to ensure consistent business rules and data handling across different platforms.
For web-based access, the Web API exposes endpoints that allow external applications to interact with the business logic. The web application is available in two forms:
This modular architecture ensures seamless integration, centralized business logic, and scalable access across desktop and web environments.