Skip to content

weedkiller/bizon360_crm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GEAR | Build Status

The primary goal of Gear BPMN is to provide a notation that is readily understandable by all business users, from the business analysts who create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation.BPMN will also advance the capabilities of traditional business process notations by inherently handling B2B business process concepts, such as public and private processes , as well as advanced modeling concepts of entities and processes. A software system designed to fully automate content management in websites. The goal is to reduce or eliminate the intervention of programmers in editing and managing their sites. The system facilitates the organization, control and publication of documents or other content, such as multimedia images and resources, often facilitates document sharing. Allows translations from the website by adding languages and keys, and also has the ability to translate automatically using external providers. Allows you to create dynamic pages that include creating page blocks and managing them, adding themes, and adapting pages to different environments. It has functional interaction with the database, in the first phase with MSSql and PostGreSql, there is also the management of the entities in the system that are used to store the information in the site, this point is automated and often generated by the system depending on the user's options. The main purpose is to build on a framework a much faster site than if it started from 0. Have an installer that allows the initial setup. It has many working tools with content in many formats, being as close as possible to the user. Possess the cache module for accessing information faster and render in templates, which can also be custom. Possess the notification and messaging module, so the system alerts you about system changes or actions made by other users.

Tehnologies

.NET CORE 2.2, C#, MVC, JQuery, PostgreSql database, PgAdmin, javascript native, javascript Prototype, SweetAlert2, Libman, Razor View Libraries, Modular Arhitecture, Entity Framework, Bootstrap 4, .Net Standard, Nginx, IIS, Kestrel

Compatibility

The framework is cross platform, thanks .net core, is compatible with Windows, Linux distributive and Mac OS.

Windows OS Requirements

To start the app you need the following packages installed:

Ubuntu 18.04 or another OS Requirements

To start the app you need the following packages installed:

Note: For other OS supported by .net core, consult internet sources

Hardware Requirements

OS
  • Windows
  • MAC OS
  • Red Hat Enterprise Linux 7, 6 - 64-bit (x86_64 or amd64)
  • CentOS 7 - 64-bit (x86_64 or amd64)
  • Oracle Linux 7 - 64-bit (x86_64 or amd64)
  • Fedora 28, 27 - 64-bit (x86_64 or amd64)
  • Debian 9 (64-bit, arm32), 8.7 or later versions - 64-bit (x86_64 or amd64)
  • Ubuntu 18.04 (64-bit, arm32), 16.04, 14.04 - 64-bit (x86_64 or amd64)
  • Linux Mint 18, 17 - 64-bit (x86_64 or amd64)
  • openSUSE 42.3 or later versions - 64-bit (x86_64 or amd64)
  • SUSE Enterprise Linux (SLES) 12 Service Pack 2 or later - 64-bit (x86_64 or amd64)
  • Alpine Linux 3.7 or later versions - 64-bit (x86_64 or amd64)
Hardware

To run the app you should have the following minimum requirements:

  • RAM: 8+ GB (ECC/NonECC) > 1333 MHZ
  • CPU: (4+) x 3 GHZ, XEON or I7 , new generations of cpu to be desired
  • Storage HDD/SSD/SSHD : > 50 GB

Installation

The app can be started using 3 environments:

  • Development - is used for development purpose
  • Stage - is used on pre- production
  • Production - is used for clients, on server side

NOTE: For development use Development env NOTE: Each configuration corresponds to a configuration file, like this: appsettings.{Env}.json

Structure of appssetings file:

{
  "SystemConfig": {
    "MachineIdentifier": ".GR.Prod"
  },
  "ConnectionStrings": {
    "Provider": "Npgsql.EntityFrameworkCore.PostgreSQL",
    "ConnectionString": "Host=127.0.0.1;Port=5432;Username=postgres;Password=Gear2019;Persist Security Info=true;Database=GEAR.PROD;MaxPoolSize=1000;"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Error"
    }
  },
  "HealthCheck": {
    "Timeout": 3,
    "Path": "/health"
  },
  "LocalizationConfig": {
    "Languages": [
      {
        "IsDisabled": false,
        "Identifier": "en",
        "Name": "English"
      },
      {
        "IsDisabled": false,
        "Identifier": "ro",
        "Name": "Romanian"
      },
      {
        "IsDisabled": true,
        "Identifier": "ru",
        "Name": "Russian"
      },
      {
        "IsDisabled": true,
        "Identifier": "it",
        "Name": "Italian"
      },
      {
        "IsDisabled": true,
        "Identifier": "fr",
        "Name": "French"
      },
      {
        "IsDisabled": true,
        "Identifier": "de",
        "Name": "German"
      },
      {
        "IsDisabled": true,
        "Identifier": "uk",
        "Name": "Ukrainian"
      },
      {
        "IsDisabled": true,
        "Identifier": "ja",
        "Name": "Japanese"
      },
      {
        "IsDisabled": true,
        "Identifier": "zh",
        "Name": "Chinese"
      },
      {
        "IsDisabled": true,
        "Identifier": "el",
        "Name": "Greek"
      },
      {
        "IsDisabled": true,
        "Identifier": "nl",
        "Name": "Dutch"
      },
      {
        "IsDisabled": true,
        "Identifier": "pl",
        "Name": "Polish"
      },
      {
        "IsDisabled": true,
        "Identifier": "es",
        "Name": "Spanish"
      }
    ],
    "Path": "Localization",
    "SessionStoreKeyName": "lang",
    "DefaultLanguage": "en"
  },
  "IsConfigured": true,
  "LdapSettings": {
    "ServerName": "",
    "ServerPort": 389,
    "UseSSL": false,
    "Credentials": {
      "DomainUserName": "",
      "Password": ""
    },
    "SearchBase": "",
    "ContainerName": "",
    "DomainName": "",
    "DomainDistinguishedName": ""
  },
  "WebClients": {
    "CORE": {
      "uri": "http://159.69.195.160:6969"
    },
    "BPMApi": {
      "uri": "http://159.69.195.160:6969"
    }
  },
  "RedisConnection": {
    "Host": "127.0.0.1",
    "Port": "6379"
  },
  "BackupSettings": {
    "Enabled": false,
    "UsePostGreSql": false,
    "UseMsSql": false,
    "BackupFolder": "ISODMS",
    "Interval": "24",
    "PostGreSqlBackupSettings": {
      "PgDumpPath": "C:\\Program Files\\PostgreSQL\\11\\bin\\pg_dump.exe",
      "Host": "localhost",
      "Port": "5432",
      "User": "postgres",
      "Password": "1111",
      "Database": "ISODMS.PROD",
      "FileExtension": "pgbackup"
    },
    "MsSqlBackupSettings": {
    }
  },
  "EmailSettings": {
    "Enabled": true,
    "Host": "smtp.office365.com",
    "Port": 587,
    "Timeout": 5000,
    "EnableSsl": true,
    "NetworkCredential": {
      "Email": "iso_dms.mail@indrivo.com",
      "Password": "I50_dm5.M@!1"
    }
  },
  "Sentry": {
    "Dsn": "https://a898fb5130514f2485704835f8109591@sentry.io/1547729",
    "IncludeRequestPayload": true,
    "SendDefaultPii": true,
    "MinimumBreadcrumbLevel": "Debug",
    "MinimumEventLevel": "Warning",
    "AttachStackTrace": true,
    "Debug": true,
    "DiagnosticsLevel": "Error"
  }
}

Explanation of appsettings blocks:

  • SystemConfig - represent a general section that provide some global info:
    • MachineIdentifier - is used for identify the app id, if is installed multiple GEAR apps, after app installation it is ovverided by generated string
  • ConnectionStrings - represent databases providers configuration
    • Provider - default is postgres
      • Npgsql.EntityFrameworkCore.PostgreSQL - postgres ,enabled and default
      • Microsoft.EntityFrameworkCore.SqlServer - enabled
      • Microsoft.EntityFrameworkCore.Sqlite - for the future
      • Microsoft.EntityFrameworkCore.InMemory - for the future
      • Microsoft.EntityFrameworkCore.Cosmos - for the future
      • Pomelo.EntityFrameworkCore.MySql - for the future
      • Pomelo.EntityFrameworkCore.MyCat - for the future
      • EntityFrameworkCore.SqlServerCompact40 - for the future
      • EntityFrameworkCore.SqlServerCompact35 - for the future
      • EntityFrameworkCore.Jet - for the future
      • MySql.Data.EntityFrameworkCore - for the future
      • FirebirdSql.EntityFrameworkCore.Firebird - for the future
      • EntityFrameworkCore.FirebirdSql - for the future
      • IBM.EntityFrameworkCore - for the future
      • EntityFrameworkCore.OpenEdge - for the future
  • Logging - see microsoft docs
  • LocalizationConfig - language configurations
  • IsConfigured - This property determines whether the app has been installed or not, if set to true then the configurations set in the database are taken, otherwise when accessing any page, it will be redirected to the installer
  • LdapSettings - This involves configuring the AD mode
  • RedisConnection - configurations for distributed cache
    • Host - represent the ip address of redis connection
    • Port - represent the port where is bind redis service, default: 6379
  • BackupSettings - this section is used for backup module, now is developed only for postgres provider
  • EmailSettings - this section is used for email client
    • Enabled - set active or inactivity of service
    • Host - the smptp host
    • Port - the port of smtp
    • Timeout - represents the time allowed for the service to wait for the message to be successfully sent
    • EnableSsl - represent usage of smtp with ssl
    • NetworkCredential
      • Email - existent smtp email
      • Password - the password of smtp email
  • Sentry - consult sentry documentation for .net core

App run

To start the app, you need:

  1. Restore ui packages on all razor projects (is optional step because, they are restored on build)
    libman restore
  2. Restore C# nuget packages by typing
    dotnet restore
  3. Build. To build, you must navigate the explorer to the path: ./src/GR.WebHosts/GR.Cms or
    cd ./src/GR.WebHosts/GR.Cms
    after it execute the following command:
    dotnet build
  4. If build has run successfully, it is the green wave to start the project
    dotnet run 
    optional for change exposed port
    dotnet run --urls=http://localhost:5001/ 

Install steps

Note: Be sure that in appsettings{Env}.json, the IsConfigured property is set to false

  1. Start the application You will be met by the following message describing the platform Welcome board Click on Go to installation

  2. Configure admin profile Profile tab Settings:

  • User Name - adminstrator user name
  • Email - your email address to receive emails on system events
  • Password and Confirm Password - the administrator password
  • First Name - admin first name
  • Last Name - admin last name
  • Organization Name - represent the default organization name
  1. Set up database provider Configuration of database provider Note: Use postgres default, because MsSql has not been tested for a long time, we plan support for other providers Connection String example: Host=127.0.0.1;Port=5432;Username=postgres;Password=Gear2020;Persist Security Info=true;Database=Gear.PROD;MaxPoolSize=1000;
  2. Press Install button and wait until the system is installed

Modules

The framework has developed the following modules:

  • Module for managing dynamic entities
  • Workflow manager and builder module
  • Task Management Module
  • Calendar module
  • Synchronization component with external calendar
  • Notifications module
  • Document Management Module (DMS)
  • User Management Module
  • Role and permissions management module
  • Report and Statistics Module
  • The chat module
  • Content management module
  • Page Management module
  • Forms management module
  • Menu management module
  • The localization module
  • Authentication and authorization module

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 46.2%
  • JavaScript 26.9%
  • HTML 16.4%
  • CSS 10.5%
  • PHP 0.0%
  • Dockerfile 0.0%