GithubHelp home page GithubHelp logo

montr / montr Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 3.0 11.35 MB

R&D of B2B automation applications (SSO, MDM etc)

License: GNU Affero General Public License v3.0

C# 72.49% HTML 0.06% JavaScript 0.20% TypeScript 26.98% Dockerfile 0.04% Batchfile 0.01% Less 0.23% Shell 0.01%
b2b dotnet linq2db react typescript ant-design

montr's Introduction

Montr

GitHub Actions status GitHub license FOSSA Status

R&D of B2B automation applications

  • SSO
  • MDM
  • more to come...

Table of contents

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Installation

  1. Clone repository from [email protected]:montr/montr.git
  2. Create database montr (or choose your database name) in PostgreSQL.
  3. Copy sample secrets.json from templates/secrets.json to Microsoft/UserSecrets/1f5f8818-a536-4818-b963-2d3ef5dcef03 directory. Specify choosen database name and other connection string parameters in Default and Migration connections of ConnectionStrings section in secrets.json.
  4. Run dotnet watch run in ./src/Host to watch backend sources changes. During first startup database structure (tables etc.) and default data (users etc.) will be created.
  5. Install node packages in ./src/ui with npm install.
  6. Run webpack with npm install to watch frontend sources changes in ./src/ui. Compiled assets will be copied to ./src/Host/wwwroot/assets and served from these location.
  7. Open https://127.0.0.1:5001 in browser. Specify default administrator email and password on opened Setup page.
Additional setup on macOS

In case of error Unable to load shared library 'libgdiplus' or one of its dependencies. when running app in macOS:

  1. Install libgdiplus with brew install mono-libgdiplus
  2. To fix web app link libgdiplus from install location sudo ln -s /opt/homebrew/Cellar/mono-libgdiplus/6.1/lib/libgdiplus.dylib /usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.0
  3. To fix unit tests link libgdiplus from install location sudo ln -s /opt/homebrew/Cellar/mono-libgdiplus/6.1/lib/libgdiplus.dylib /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/6.0.0

License

Montr is AGPL 3.0 licensed.

montr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

montr's Issues

Migrate to Ant Design 4.0

Migration guides

Known Issues

  • Bundle size is too large (dev bundle from 5.17 Mb becomes 7.8 Mb) - ant-design/ant-design#12011 - fixed in ant-design/ant-design#21752
  • DataForm: inputs are empty on page load, but have values after switching tabs or in modals - problem was when real data comes after metadata
  • DataTable: data is not loaded initially (when used dynamic filters?), but loaded correctry if tab not initially active, e.g. on classifier type hierarchy tab.
  • DataTable: page info not displayed correctly after refresh - e.g. Records -9 โ€” 0 from 1 on classifier search page or < 0 > on locales pages
  • DataTable: filter is not working, e.g. on locales page (no console warnings or errors)
  • DataTable: page size select control is too large - fixed in antd 4.0.0-rc.0
  • DataTable: On classifier item hierarchy tab data is not displayed (complex data with dots) and warnings in console Warning: Each child in a list should have a unique "key" prop..
  • Tooltip warnings in console - fixed in antd 4.0.0-rc.0

Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
Check the render method of Trigger.
in QuestionCircleOutlined (created by Trigger)
in Trigger (created by ForwardRef(Tooltip))
in ForwardRef(Tooltip) (created by Context.Consumer)
in Tooltip (created by PaneSecurity)

  • ClassifierGroupSelect warning on classifier item edit page

Warning: _ClassifierGroupSelect.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.
in _ClassifierGroupSelect (created by Context.Consumer)
in Context.Consumer (created by Anonymous)
in Anonymous (created by WrappedDataForm)
in WrappedDataForm (created by withI18nextTranslation(WrappedDataForm))
in withI18nextTranslation(WrappedDataForm) (created by _TabEditClassifier)
in _TabEditClassifier (created by Context.Consumer)

  • Console warnings in add classifier hierarchy link modal:

backend.js:6 Warning: Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from props.
in Tree (created by OptionList)
in OptionList (created by Select)
in Select (created by Anonymous)
in Anonymous (created by TreeSelect)
in TreeSelect (created by Context.Consumer)
in Context.Consumer (created by TreeSelect)
in TreeSelect (created by _ClassifierGroupSelect)
in _ClassifierGroupSelect (created by Context.Consumer)
in Context.Consumer (created by Anonymous)
in Anonymous (created by WrappedDataForm)
in WrappedDataForm (created by withI18nextTranslation(WrappedDataForm))
in withI18nextTranslation(WrappedDataForm) (created by _ModalEditClassifierLink)
in _ModalEditClassifierLink (created by Context.Consumer)

  • ModalEditClassifierGroup: Parent classifier group name is not displayed on edit classifier group modal (no console warnings or errors)

Migrate to Ant Design 5.0

Migration guides

Problems

  • TS2307: Cannot find module 'antd/lib/form' or its corresponding type declarations. - Remove lib, only provide dist and es in package (https://ant.design/docs/react/migration-v5#technology-adjustment)
  • TS2307: Cannot find module 'antd/lib/form/interface' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/tree' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/radio' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/radio/interface' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/menu' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/menu/MenuItem' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/message' or its corresponding type declarations. - moved to "antd/es/message/interface"
  • TS2307: Cannot find module 'antd/lib/upload' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/grid/row' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/table/interface' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/button' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/locale-provider' or its corresponding type declarations.
  • TS2307: Cannot find module 'antd/lib/locale-provider/en_US' or its corresponding type declarations.
  • TS2305: Module '"antd"' has no exported member 'PageHeader'.

Company Registration workflows

Company Registration Request (CRR)

sequenceDiagram
    autonumber
    participant Draft
    participant Submitted
    participant Accepted
    participant Rejected
    Draft->>Draft: Edit
    Draft->>Submitted: Submit (Change status)
    Submitted->>Submitted: Approve (Create related CRA document)

Company Registration Approval (CRA)

sequenceDiagram
    autonumber
    participant Draft
    participant Submitted
    Draft->>Draft: Edit
    Draft->>Submitted: Submit (Change status)
    alt IF Submitted && Decision == Accept
        Submitted->>Submitted: Change related CRA document status -> Accepted
    end
    alt IF Submitted && Decision == Reject
        Submitted->>Submitted: Change related CRA document status -> Rejected
    end

Configure tasks numeration

  1. Add task setting to configure default tasks numerator
  2. Add default tasks numerator during tasks module initialization
  3. Use configures tasks numerator to generate new tasks number

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.