...
Technology: PHP
2.3k
Keywords: agile asana calendar clickup gantt hacktoberfest jira kanban lean leantime notion php project-management projects retrospective scrum sql strategy timesheets trello

Leantime | Open Source Collection

Leantime™

Leantime is a strategic open source project management system for innovative companies and teams looking to go from start to finish. Built for the non-project manager, we combine the plans and the work while making it easy for everyone on the team to use.
It's an alternative to ClickUp, Notion, and Asana. As simple as Trello but as feature-rich as Jira.
https://leantime.io



Features:

  • Task management using kanban boards, table and calendar views + sprint management
  • Subtask management & dependencies
  • Idea boards & idea kanban boards
  • Various research and strategy boards such as SWOT, Lean Canvas, Business Model Canvas, Empathy Maps & more
  • Milestone management using Gantt charts
  • Timesheet management + time tracking on tasks
  • Manage goals
  • Retrospectives
  • Project dashboards and project updates
  • Project reports
  • Comments / Discussion
  • Confetti
  • Portfolio overview with project status
  • Wikis (Docs) with the ability to embed documents
  • Multiple user roles
  • Two-Factor Authentication
  • LDAP integration
  • Integrations with Mattermost, Slack, Zulip, Discord
  • Export timesheets, tasks, and milestones to CSV
  • File storage with AWS S3 or local file system
  • Adjust the color scheme and logo
  • Easy installation
  • Available in 19 languages

System Requirements

  • PHP 8+
  • MySQL 5.7+
  • Apache or Nginx (IIS works with some modifications)

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 the latest release package
  • 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 the instructions to install the database and set up the first user account

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

You can set any of the config variables in config/configuration.php when running the docker command.

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

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

  • Install composer and npm
  • Clone the repository to your local server
  • Create MySQL database
  • Run composer to load php dependencies
composer install

then

npm install

to load Javascript dependencies and finally run the grunt task to create the compiled js files

./node_modules/grunt/bin/grunt Build-All
  • Point your local 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 <localdomain>/install
  • Follow the instructions to install the 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 8080.

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 connection

Update

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

LICENSE Exceptions

This file forms part of the Leantime Software for which the following exception is added: Plugins within the /app/plugins directory which merely make function calls to the Leantime Software, and for that purpose includes it by reference shall not be considered modifications of the software.

Support

Profile Picture

Hi, I'm Habib. I'm the founder of OpenSourceCollection. I help build web applications, grow businesses, big and small. If that is what you want, contact me.

I'm currently available for freelance work.

Visit my Protfolio. Let's connect on Linkedin or GitHub

Contact Me

About OpenSourceCollection.com
Discover, explore, and find open-source web apps from various categories and technologies, while accessing live demos, screenshots, and GitHub source code links.