Skip to content

Latest commit

 

History

History
300 lines (186 loc) · 17.1 KB

README.md

File metadata and controls

300 lines (186 loc) · 17.1 KB

Alliance Business Suite

Version Documentation License: ABS EULA Twitter: fenixalliance

Welcome to the Alliance Business Suite Documentation!

Aiming to help organizations reach beyond expectations, the Alliance Business Suite is designed to augment businesses across industries worldwide through a low-code, and fully customizable business development platform.

At a very high level, the Alliance Business Suite is a set of powerful, extensible, multi-tenant applications built to enable businesses to jumpstart their digitalization process through powerful business applications built to cover the core processes of any given business.

The Alliance Business Suite provides customers with a Full-Stack, Low-Code, Modular, and Multi-Tenant Business Application Framework built on top of the Alliance Business Platform.

The Alliance Business Suite relies on five major components designed to separate different functionalities into layers; these components are:

The Alliance Core Libraries contain the core abstractions and default implementations required by the Alliance Business Model and dependent components. It is also the external dependency source for the entire Alliance Business Suite, which means that external dependencies, which are dependencies outside the FenixAlliance.* namespace, are referenced by the FenixAlliance.ACL.Deps Package, which is the base ACL Package and, therefore, it could be referred to as the Core Package.

For more information on the dependency tree, design overview, and external dependencies, please refer to Advanced Topics.

The Alliance Business Model is a declarative specification and definition of standard entities that represent commonly used concepts and activities across business and productivity applications and is being extended to observational and analytical data as well. ABM provides well-defined, modular, and extensible business entities such as Accounts, Business Units, cases, Contact, Leads, Opportunity, and Items (Products/Services) and interactions with vendors, workers, and customers, such as activities and service level agreements. that serve as the dynamic data layer for the entire Alliance Business Suite.

Anyone can build on and extend ABM definitions to capture additional business-specific scenarios.

The Alliance Passport Service enables developers and non-developers alike The Alliance Passport Service is an Authentication/Authorization Engine designed to enable customers to easily configure and manage business identity scenarios by assigning (or connecting) a digital identity to their contacts, whether they are customers, employees, partners, guests, and more.

It also provides common features for managing authentication, authorization, data protection, HTTPS enforcement, app secrets, XSRF/CSRF prevention, and CORS management. These security features allow you to build robust, yet secure Alliance Business Suite apps.

The Alliance Business Platform is a Modular API Framework. It leverages .NET 5.0 with the best of REST, SignalR, GraphQl y gRPCto transact with the Alliance Business Model Schema (AMB). The Alliance Business Platform is an open-source and cross-platform framework for integrating next-generation functionalities into your applications. It allows you to build spectacular single-page apps using .NET and C# with or without JavaScript. ABP apps can connect and transact to the data layer (The Alliance Business Modal Schema) using any language through standard requests through the various GrPC, HTTP, and GraphQL Endpoints.

To capture additional business-specific scenarios, you can easily build on and extend The Alliance Business Platform through ASP.NET + Angular / React (And pretty much any Web Stack Framework).

The Alliance Business Studio is the Graphical Administration Engine for the Alliance Business Suite. It allows users to manage their implementations, transact data through the Alliance Business Platform, generate and consume views, and reports, customize and extend the system, and much more.

You can build on top of, and extend The Alliance Business Studio to capture additional business-specific scenarios.

How to build applications on top of the Alliance Business Suite?

Client and server code are written in C#, allowing users to extend the product with their code through Module libraries. It builds upon next-generation technologies such as Blazor, SignalR, Razor Pages, and MVC through .NET, an open-source and cross-platform framework for building web-mobile apps using C#, with or without the use of JavaScript.

The power of the Alliance Business Suite can be leveraged from small personal blogs, eCommerce platforms, and professional portfolios to the infrastructure of large corporations.

User Guide

Getting Started

For Business Use.

  • Download or Clone the latest Alliance Business Suite release. Decompress the downloaded .zip on a folder on your PC, navigate to that folder and execute the FenixAlliance.ABS.Web.exe file.

A console window will pop up, providing information about the initialization process. Open your server on the provided URL, go through the installation wizard, and start using the Alliance Business Suite. For more information about hosting your Alliance Business Suite instance, please refer to Hosting your Alliance Business Suite.

For Developer Users

  • Install the latest edition (v16.8 or higher) of Visual Studio 2019 (Community, Professional, or Enterprise Editions) with the ASP.NET and web development workload enabled. Alliance Business Suite works with ALL editions of Visual Studio from Community to Enterprise. If you do not have a SQL Server installation available already and you wish to use LocalDB for development, you must also install the .NET desktop development workload.

  • Download a release or Clone the ABS. Portal repository to your local system using Git. Open the FenixAlliance.ABS.Portal.sln solution file and Build the solution. Make sure you specify FenixAlliance.ABS.Portal as the Startup Project and then Run the application.

Installing an official release:

Additional Instructions

  • If you have already installed a previous version of Alliance Business Suite and you wish to do a clean database install, simply point the DefaultConnection value in the ABS Portal Settings Manager to a fresh database record. This will trigger a re-install when you run the application which will execute the database installation scripts.

  • Every ABS Repo ignores appsettings.json by default, so as long as you don't delete the directive from .gitignore, you're cleared to submit a pull request.

Video Series

  • If you are getting started with Alliance Business Suite, a series of videos are available that explain how to install the product, interact with the user interface, and develop custom modules.

Documentation

There is a separate Documentation repository, which contains various types of documentation for the Alliance Business Suite, including the C# API documentation for every class on every library. The contents of the repository are available at https://docs.absuite.net as interactive documentation.


Easy Install

The Easy Way: As a Docker Container.

docker pull FenixAlliance.ABS:latest

Conventional Install

git clone https://github.com/FenixAlliance/ABS.Bin
cd ABS.Bin
./FenixAlliance.ABS.Web.exe

or

dotnet FenixAlliance.ABS.Web.dll

Installing as an application dependency

  • Add the Alliance Business Suite Nuget Feed.

dotnet nuget add source https://nuget.absuite.net/nuget -n absuite.net
  • Add the NuGet packages

dotnet add package FenixAlliance.ABS.Hub --version latest
dotnet add package FenixAlliance.ABS.Assets --version latest
  • Register Services and Configuration on .NET 5.0

using FenixAlliance.ABS.Hub.Extensions;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;

namespace FenixAlliance.ABS
{
    public class Startup
    {
        public IHostEnvironment Environment { get; set; }
        public IConfiguration Configuration { get; }

        // Constructor
        public Startup(IConfiguration Configuration, IHostEnvironment Environment)
        {
            this.Environment = Environment;
            this.Configuration = Configuration;
        }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
          services.AddAllianceBusinessSuite(Configuration, Environment);
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app)
        {
          app.UseAllianceBusinessSuite(Configuration, Environment);
        }
    }
}
  • Register Services and Configuration on .NET 6.0

using FenixAlliance.ABS.Hub.Extensions;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAllianceBusinessSuite(builder.Configuration, builder.Environment);

var app = builder.Build();

app.UseAllianceBusinessSuite(builder.Configuration, builder.Environment);

app.Run();

Release Announcements

Alliance Business Suite v1.2

Example Screenshots

ABS Studio Dashboard:

image.png

ABS Extensions:

The ABS is modular. Whether you need to add pages, products, or posts with no code at all (using the ABS Web Designer), modify the style or layout, or add your Types, Controllers, Pages, Views, Components, or Tag Helpers

ABS Extensions

ABS Commander Terminal:

The ABS Commander Terminal is a Built-In functionality that allows users to execute commands against the ABP set of APIs.

ABS Commander Terminal

ABS WOPI Connector:

The ABS Workplace Module allows users to create, view, and edit Office files with Office for the web, right from their ABS Instances. It also allows users to manage files for pretty much every entity type.

ABS WOPI Connector

ACS Bot Maker:

The Alliance Conversational Services Bot Maker Platform is an ABS extension that allows users to create conversational flows using NLP and a graphical UI.

ABS Bot Maker

Versioning

Maintaining forward and backward compatibility is a key goal of the ABS. Therefore, the ABS now uses only additive versioning, which means any revision of the ABM following the "2.0" release will not:

  • Introduce new mandatory attributes on previously published entities, or change an optional attribute to be mandatory
  • Rename previously published attributes or entities
  • Remove previously published attributes

🤝 Contributing

Contributions, issues, and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.

  1. Issue Guidelines
  2. Report Security Vulnerabilities
  3. Pull Request Requirements
  4. Translations
  5. Chart of Accounts

Show your support

Give this project a ⭐️ if this project helped you!

Author

👤 Fenix Alliance Inc.

Logo and Trademark

The brand name Alliance Business Suite and its logos are trademarks of Fenix Alliance S.A.S in Colombia and Fenix Alliance Inc in other countries ("Fenix Alliance").

Fenix Alliance owns and oversees the trademarks for the ABS name and logos. We have developed this trademark usage policy with the following goals in mind:

  • We’d like to make it easy for anyone to use the ABS name or logo for community-oriented efforts that help spread and improve ABS.
  • We’d like to make it clear how ABS-related businesses and projects can (and cannot) use the ABS name and logo.
  • We’d like to make it hard for anyone to use the ABS name and logo to unfairly profit from, trick, or confuse people who are looking for official ABS resources.

Licensing and Contributions

Your access to and use of the Alliance Business Suite's source code is governed by the Fenix Alliance's End User License Agreement "EULA". If you don't agree to those terms, as amended from time to time, you are not permitted to access or use the Alliance Business Suite.

We welcome any contributions to the Alliance Business Suite development through pull requests on GitHub. Most of our active development is in the development branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Fenix Alliance coding standards. All contributions are governed by the terms of the EULA.

Legal Notices

Fenix Alliance and any contributors grant you a license to the documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License and grant you a license to any code or binary form Fenix Alliance through the ABS EULA.

Fenix Alliance, Alliance Business Suite, Infinity Comex, and/or other Fenix Alliance products and services referenced in the documentation may be trademarks or registered trademarks of Fenix Alliance Inc. in the United States/or other countries. The licenses for this project do not grant you rights to use any of Fenix Alliance's names, logos, or trademarks. Fenix Alliance's general trademark guidelines can be found at http://docs.fenix-alliance.com.

Privacy information can be found at https://fenix-alliance.com/legal/policies/privacypolicy

Fenix Alliance and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel, or otherwise.

Alliance Business Suite - Low-Code Next-Generation Business Development Platform. | Product Hunt