Giter Site home page Giter Site logo

leantime / leantime Goto Github PK

View Code? Open in Web Editor NEW
4.1K 61.0 540.0 160.81 MB

Leantime is a goals focused project management system for non-project managers. Building with ADHD, Autism, and dyslexia in mind.

Home Page: https://leantime.io

License: GNU Affero General Public License v3.0

PHP 45.62% HTML 0.12% CSS 23.46% JavaScript 27.05% Less 0.04% Makefile 0.07% Twig 0.17% Smarty 0.03% Blade 3.45%
project-management php sql kanban gantt timesheets calendar agile retrospective lean

leantime's Introduction

Leantime Logo

Leantime®

Leantime is an open source project management system for non-project manager.
We combine strategy, planning and executing while making it easy for everyone on the team to use. Building with ADHD, dyslexia and Autistism in mind.
It's an alternative to ClickUp, Monday, or Asana. As simple as Trello but as feature-rich as Jira.
https://leantime.io

Leantime%2Fleantime | Trendshift

License Badge Docker Hub Badge Github Downloads Discord Badge Crowdin GitHub Sponsors

alt text



🚀 Features*

Task Management Project Planning Information/Knowledge Management Administration
Task management via
kanban boards, gantt, table, list and calendar views
Project Dashboards, reports & status updates Wikis / Docs Easy installation
Unlimited subtasks and dependencies Goal & metrics tracking Idea Boards Multiple user roles and per project permissions
Milestone management Lean & Business Model Canvas Retrospectives Two factor authentication
Sprint Management SWOT Analysis canvas File Storage via S3 or local filesystem LDAP, OIDC integration
Timetracking & timesheets Risk Analysis Screen & webcam recording Extendable via plugins and API
... and more Comments/discussions on everything Integrates with Slack, Mattermost, Discord
... and more Available in over 20 languages
*yes, all of these features are included in the OSS version


📸 Screenshots

alt text alt text alt text
alt text alt text alt text
alt text alt text alt text



❗System Requirements

  • PHP 8.1+
  • MySQL 5.7+
  • Apache or Nginx (IIS works with some modifications)
  • PHP Extensions:
    • mysql, mbstring, GD, exif, pcntl, bcmath, opcache, ldap

️⚡️ Installation (Production)

There are two main ways to install LeanTime for production. The first of which is to install all needed pieces of the system locally. The second is to use the officially supported Docker image.

Local Production Installation

  • Download latest release package (file is called: Leantime-vx.x.x.zip) from the release page
  • Create an empty MySQL database
  • Upload the entire directory to your server
  • Point your domain root to the public/ directory
  • Rename config/.env.sample to config/.env
  • Fill in your database credentials (username, password, host, dbname) in config/.env
  • Navigate to <yourdomain.com>/install
  • Follow instructions to install database and set up first user account
IIS Installation Notes

Whilst the steps above are applicable to Internet Information Services (IIS), there is an additional configuration change that may be required in IIS to ensure full functionality - you need to allow the PATCH method:

  • Open IIS
  • Expand the server and sites on the left and select the LeanTime site
  • Double click on Handler Mappings
  • Double click on the PHP handler mapping that is used by the site
  • Click Request Restrictions…
  • Click the Verbs tab
  • In the One of the following verbs text box, add ,PATCH - for example: GET,HEAD,POST,PATCH
  • Click OK
  • In the Executable (optional) text box, put a double quote character () at the start and at the end of the path to the php-cgi.exe file (this isn't needed if the path doesn't have a space in it)
  • Click OK
  • A popup will appear asking if you want to create a FastCGI application - click Yes

Note: You may need to repeat this when you upgrade PHP.

Production Installation via Docker

We maintain an official Docker image on dockerhub. To run the image enter your MySQL credentials and execute. You can pass in all the configuration variables from .env

docker run -d --restart unless-stopped -p 80:80 --network leantime-net \
-e LEAN_DB_HOST=mysql_leantime \
-e LEAN_DB_USER=admin \
-e LEAN_DB_PASSWORD=321.qwerty \
-e LEAN_DB_DATABASE=leantime \
-e [email protected] \
--name leantime leantime/leantime:latest

Unless you have a database defined somewhere else you should use our docker-compose file.

Once started you can go to <yourdomain.com>/install and run the installation script.

Docker Installation Notes

If you intend to place Leantime behind a reverse proxy (nginx, etc.) to handle custom domain name resolution and SSL offloading, you will need to set the following environment variable in docker

-e LEAN_APP_URL=https://yourdomain.com \
  • Update yourdomain.com to your custom domain name.

🤓 Installation (Development)

There are two ways to install a development setup of LeanTime. The first (but most technical) is to install all pieces of the system locally. The second (and preferred method) is to use a docker containerized development environment.

Local Development Installation

  • Clone repository to your local server
  • Create MySQL database
  • Run webpack builder via make build-dev
  • Point your local domain to the public/ directory
  • Rename config/.env.sample to config/.env
  • Fill in your database credentials (username, password, host, dbname) in config/.env
  • Navigate to <localdomain>/install
  • Follow instructions to install database and user account

Development Installation via Docker

For development, we use a dockerized development environment. You will need to have docker, docker compose, make, composer, git and npm installed.

  • Notes for Windows Environments:
    • Run all commands within the git bash terminal in order to utilize unix specific commands
    • If installing php from a zip file, make sure to configure php.ini It does not exist initially, so copy C:\php\php.ini-development to C:\php\php.ini. You will also need to edit php.ini in a text editor and enable all needed extensions for the build process. You can find these by running the make commands and looking for any extensions that error out as missing. You can enable them by searching php.ini for the extension that will look like: ;extension=gd and removing the semicolon.

In order to build the development docker image, in the root of this repository, run a primer with

make clean build

afterwards, run

make run-dev

this will start the development server on port 8090.

The dev environment provides a MySQL server, mail server, s3 server, and should be good to go for your needs out of the box. The configuration of the development environment is found in .dev/.env, and is already seeded with the appropriate values. You should probably not be modifying this unless you plan to work on a feature for a specific integration. the applications you get are as follows

Additionally, Xdebug is enabled, but you will have to modify your IDE key in the .dev/xdebug.ini file(or alternatively, on your IDE). You also need to have port 9003 temporarily open on your firewall so you can utilize it effectively. This is because connections from docker to the host will count as external inbound connections

🏗 Update

Manual

  • Make sure to take a backup of your database and files
  • Replace all files in your directory with the updated version
  • If there were any database changes, the system will redirect you to <yourdomain.com>/update

CLI

  • Run bin/leantime system:update

Docker

  • Before updating, make sure your mysql container was started using a mounted volume, otherwise your content will be deleted
  • Delete/Stop existing container
  • Pull the latest docker image and rebuild using your compose file

☁️ Not interested in hosting yourself? Let us do it for you

We offer managed hosting plans as well as a SaaS product so you can get all the benefits of Leantime without the hassle. Head to leantime.io for more information.

🤙 Need technical support?

We can help you set up Leantime in your environment and customize it to your needs. Our support plans are outlined on our website.

Contributing

We're excited you are interested in contributing to Leantime. We want to make sure you have a great experience contributing to Leantime and that the new features you build will make it into core.

Bugs

Find an issue on Github (or create a new one) add your name to it or comment that you will be working on it. Once fixed, create a Pull Request.

New Features in Core

If you have an idea about new features please reach out to us on Discord. This is where we coordinate feature development and discuss whether core is the right place to add your new features (Plugins is the alternative).

Translations

We use (Crowdin)https://crowdin.com/project/leantime to manage all of our translations. If you don't see a language please message us on Discord.

Community Support

⚖️ LICENSE Exceptions

Leantime is licensed under AGPLv3. This file forms part of the Leantime Software for which the following exception is added: Plugins within the /app/plugins directory which may contain plugins licensed under other licenses including our enterprise license.

leantime's People

Contributors

acul009 avatar andyg2 avatar antonanders avatar bankzst avatar bellyhold avatar broskees avatar cableman avatar carsteneu avatar dependabot[bot] avatar diderich avatar digital-joe-co avatar elaktrato avatar eric-hansen avatar finitesource avatar gloriafolaron avatar harrellbm avatar hesselni avatar jarscr avatar jeppekroghitk avatar jiriks74 avatar joaobrazuna avatar jontorrado avatar marcelfolaron avatar noobtw avatar phulstaert avatar rimi-itk avatar sergio0comella avatar snyk-bot avatar tareqk avatar yuvytung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

leantime's Issues

leantime.de

Installation in deutsch unter leantime.de

Fix users with 0 projects issues

I also use docker image to create leantime project. When I use admin to create a manager account, I got an error at this. What can I do in this error?

Notice: Undefined offset: 0 in /var/www/html/src/core/class.frontcontroller.php on line 90

Notice: Undefined offset: 0 in /var/www/html/src/core/class.frontcontroller.php on line 91

Notice: Undefined offset: 0 in /var/www/html/src/core/class.frontcontroller.php on line 92

install (production) page not found

I've followed these instructions:
Installation (Production)
Download latest release package
Create an empty MySQL database
Upload entire directory to your server
Point your domain to the public/ directory
Rename config/configuration.sample.php to config/configuration.php
Fill in your database credentials (username, password, host, dbname) in config/configuration.php
Navigate to <yourdomain.com>/install
Follow instructions to install database and set up first user account


But when navigate to /install it returns 404 Page not found

Create Unit Tests

We need unit tests for the whole system.

In particular for:

DB class
Frontcontroller
Template Engine
i18n
Email class
File access class

1071 Specified key was too long on install

Hello,

I was trying to install Leantime (v2.0.3) using the docker image but I'm getting the following error:

Something went wrong
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Before continuing you should delete all tables from your database.

Screen Shot 2019-12-07 at 15 47 30

All the fields that I'm inserting are very small, they are far from 767 bytes.

There are no errors on the logs.

can't see /dashboard/show

Hello,
when I started to login to leantime, I get this error:

Not Found
The requested URL /dashboard/show was not found on this server.
Apache/2.4.12 (Ubuntu) Server at 192.168.221.66 Port 80

and thanks in advance.

Docker image for leantime

Could you please provide an official docker image for leantime? it would be great for new users to try out.

Broken characters in the notification Email

image

I already converted the database character set with #71 this article. However, I can not see any of the utf8mb4 characters in the email correctly.

So, I make a change to

//Use SMTP or php mail().
if($config->useSMTP === true) {
$this->mailAgent->SMTPDebug = 0; // Enable verbose debug output
$this->mailAgent->Timeout = 20;
$this->mailAgent->isSMTP(); // Set mailer to use SMTP
$this->mailAgent->Host = $config->smtpHosts; // Specify main and backup SMTP servers
$this->mailAgent->SMTPAuth = true; // Enable SMTP authentication
$this->mailAgent->Username = $config->smtpUsername; // SMTP username
$this->mailAgent->Password = $config->smtpPassword; // SMTP password
$this->mailAgent->SMTPSecure = $config->smtpSecure; // Enable TLS encryption, `ssl` also accepted
$this->mailAgent->Port = $config->smtpPort; // TCP port to connect to
like this:

            //Use SMTP or php mail().
            if($config->useSMTP === true) {

                $this->mailAgent->SMTPDebug = 0;                                  // Enable verbose debug output
                $this->mailAgent->Timeout = 20;

                $this->mailAgent->isSMTP();                                      // Set mailer to use SMTP
                $this->mailAgent->Host = $config->smtpHosts;          // Specify main and backup SMTP servers
                $this->mailAgent->SMTPAuth = true;                               // Enable SMTP authentication
                $this->mailAgent->Username = $config->smtpUsername;                 // SMTP username
                $this->mailAgent->Password = $config->smtpPassword;                           // SMTP password
                $this->mailAgent->SMTPSecure = $config->smtpSecure;                            // Enable TLS encryption, `ssl` also accepted
                $this->mailAgent->Port = $config->smtpPort;                                    // TCP port to connect to
                $this->mailAgent->CharSet = 'UTF-8';

This thing is a famous bug (see https://stackoverflow.com/questions/2491475/phpmailer-character-encoding-issues) then I can fix very fast in a minuite.

Best,
Seongho

Nginx support

Tthe htaccess redirects don't work with nginx and converting them causes issues. Investigate and solve nginx configuration.

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.