Giter VIP home page Giter VIP logo

jenplane's People

Contributors

dependabot[bot] avatar javadch avatar reddine avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

manuelprinz

jenplane's Issues

Restructuring the codebase

  • architectural redesign to hexagonal design
  • rewriting the backend with fast API (issues with flask, auth, performance, async)
  • split the backend layers
  • persistence layer to work with MongoDB and GraphDB, configurable via a config file
  • documentation

levels of access

Each user may have access to multiple projects and/or organizations having different roles. such as admin, contributor or member.

  • member can only see the resources without being able to edit, create, or delete the resource or sub-resources (for example an organization member can see the organization info, the projects info and the plans, but is not able to edit, delete or add anything)
  • contributor: can edit the resource itself as well as create/delete/edit/lock/unlock sub-resources.
  • admin: can perform any operation on any resource. For example, an organization admin can lock the organization or a specific project in that organization.

create an organization

An authorized user can create a new organization.
Basic data are: short name, full name, country of origin, description, logo, address, email, phone,

  • no duplicate short nad full name is accepted.
  • no duplicate email address is accepted

Default system admin user

The system should have a default sysAdmin with a default password so that after installation/deployment of the application, the user can start managing the application.

A project admin (orgAdmin) can manage the project

A prjAdmin is able to:

  • edit the project's data (short name, full name, description)
  • lock/unlock the project
  • invite a user to be member or contributor of the project (member can view, contributor can view and edit)
  • members and contributors of the parent organization are automatically members and contributors to the project. this information is displayed at the project management dashboard. The prjAdmin has the right to revoke those permissions from the project.

user management

  • Sign up, sign in, log out
  • user can receive a role/access level
  • a user can be disables/enabled

a sysAdmin can manage organizations

A sysAdmin should be able to:

  • create a new organization
  • make a user the admin of an organization or detach the user from the organization
  • lock/unlock an existing organization: No one is able to operate on the organization
  • delete an organization: the organization and all its projects are deleted from the system
  • approve user registrations
  • block/unblock users
  • edit data or organizations and users

An organization admin (orgAdmin) can manage the organization

an orgAdmin is able to:

  • edit the organization's data (short name, full name, description, address, logo, phone, email, etc)
  • lock/unlock the organization
  • create/edit/delete projects in the organization
  • invite a user to be member or contributor of the organization (member can view, contributor can view and edit)

create a project

An authorized user can create a new project.

  • Basic data are: short name, full name, description, logo
  • Each project belongs to one and only one organization
  • no duplicate short nad full name in any organization is accepted.
  • user assigns a specific process template/version to the project (from the process repository)
  • A visual process design canvas is rendered based on the process template
  • User can interact with the canvas to change/customize the process. The changes do not affect the process template but are stored separately in the process instance repository as a process instance. This repository can (and is desired) to be the app's DB (MongoDB)

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.