Giter Club home page Giter Club logo

latelier's Introduction

latelier

FOSSA Status Build Status Codacy Badge

A project management tool.

Kanban

Features

  • Kanban task board with realtime updates
  • Timeline view of tasks and projects
  • BPMN diagrams
  • Business model canvas sheet for project
  • Projects grouped by organization
  • Project weather like status
  • Meeting reports
  • Permissions per organization & per project

Demonstration

Demo server: https://latelier.services.jbl2024.com

Warning: do not store sensitive data, use at your own risk. Data is reset periodically.

Available credentials:

  • username: user1@localhost / password: user1
  • username: user2@localhost / password: user2

Installation

Docker

Since v2.9.0, Docker images are available on docker hub: https://hub.docker.com/r/jbl2024/latelier .

A docker-compose.yml is also provided.

Meteor

This application is built with Meteor framework.

See https://www.meteor.com/install for installation instructions.

Requirements

The following external dependencies are required:

Component Usage Reference
GraphicsMagick Generate thumbnails http://www.graphicsmagick.org/
Pandoc Export content to libreoffice & word formats https://pandoc.org/

Configuration

Copy settings-development.json.sample.json to settings-development.json and update values matching your configuration

Settings:

Key Type Default value Description
generateFixtures boolean false If true, users fixtures are generated at startup
disableAccountCreation boolean false If true account creation is forbidden
attachmentsPath string /tmp/ Attachment storage path on fs
avatarsPath string attachmentsPath Avatar storage path on fs
email object Email settings
roles.admin [string] [] Users matching emails will have the admin role
public.seo.titlePrefix string l'atelier window.title prefix
public.sso object {} See below
public.emailVerificationNeeded boolean false If false, no verification email is sent
public.disableAttachments boolean false If true, attachments are disabled
public.tracking object {} See below
public.tracking.matomo object {} See https://github.com/AmazingDreams/vue-matomo#usage
public.tracking.matomo.enabled boolean false If true, page and search keyword tracking are enabled
uploadTransport string ddp http or ddp
notificationsPerUser number 50 max number of notifications stored per user
users object {} See below
elasticApm object {} See below
digestsRetention number 60 Number of days to keep in digest
storage object {} Storage. If empty, fs is used
auth object {} See below
coedition object {} See below

email:

Key Type Default value Description
from string noreply@localhost From email when sending mail
prefix string Subject prefix

users:

Key Type Default value Description
search string ("admin", "all") all Who can search existing users
invite string ("admin", "all") all Who can invite people

sso:

Key Type Default value Description
enabled boolean false If true, sso is enabled
email string null email header to match user

elasticApm:

Key Type Default value Description
enabled boolean false If true, elastic-apm is enabled
options object {} see https://github.com/kschingiz/meteor-elastic-apm

storage:

Key Type Default value Description
type string ("s3") Storage type
migrateFromFS boolean false If true, files are moved from FS to storage system at startup (make sure you backup your data before!)
s3 object {} s3 options

s3

Key Type Default value Description
endpoint string Storage url (optional)
key string key
secret string secret
region string region
bucket string bucket

auth:

Key Type Default value Description
oauth2 object {} See below

oauth2:

Key Type Default value Description
enabled boolean false If true, oauth2 is enabled
title string OAuth2 Button title
idMap string id map
usernameMap string preferred_username
fullnameMap string given_name
emailMap string email
clientId string
secret string "
serverUrl string /auth
authEndpoint string /realms//protocol/openid-connect/auth
userInfoEndpoint string /realms//protocol/openid-connect/userinfo
tokenEndpoint string /realms//protocol/openid-connect/token
logoutUrl string /realms/l/protocol/openid-connect/logout
logoutRedirectParameter string redirect_uri
idTokenWhitelistFields string []

Note: tested only with keycloak.

coedition:

Key Type Default value Description
steps integer 500 Number of steps to keep for coedit collab feature
daysToKeep integer 3 previous edition steps are removed after daysToKeep

Example:

{
  "generateFixtures": false,
  "disableAccountCreation": false,
  "attachmentsPath": "/tmp/attachments/",
  "notificationsPerUser": 50,
  "users": {
    "search": "admin",
    "invite": "admin"
  },
  "email": {
    "from": "noreply@localhost"
  },
  "roles": {
    "admin": ["[email protected]"]
  },
  "public": {
    "emailVerificationNeeded": false,
    "seo": {
      "titlePrefix": "l'atelier"
    },
    "sso": {
      "enabled": true,
      "email": "header-email"
    },
    "uploadTransport": "ddp"
  }
}

Fixtures (dev only feature)

If generateFixtures parameter is set to true, 50 users are created at startup (if user count is <= 2). Default password for generated users is password.

Install dependencies

meteor npm install

Start

npm start

Docker development environment

A Dockerfile and a docker-compose are provided to start a development environment.

$ docker-compose --file docker-compose.dev.yml up

will start in dev mode (autorestart, no production build):

When all containers are running, open another terminal to start meteor application:

$ docker-compose --file docker-compose.dev.yml exec app npm run start-dev

After a few minutes, the app will be available at http://localhost

Note: do not forget to create a settings-development.json file.

Screenshots

Dashboard

Dashboard

Planning (organization)

Planning (project)

BPMN

Weather

Canvas

Meetings calendar

Meeting detail

License

Apache License 2.0

FOSSA Status

latelier's People

Contributors

jbl2024 avatar mhdbaal avatar quenty31 avatar dependabot[bot] avatar mexaar avatar fossabot avatar

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.