PPM (PPM project mangement) is a single user project, task, and time management system.
It has the following features:
- Create projects
- Create tasks connected to projects
- Add time entries on tasks
- Overview of time used per week / task / project
- Mobile and desktop friendly
You can try it or use it on https://ppm.10kilobyte.com/
It only works with await / async
and some other 'modern' features enabled in the browser.
There is no transpiling of the javascript.
If you have updated you browser the last couple of years you will be good to go.
Works on: PHP >= 8.1
Clone the source code:
git clone https://github.com/diversen/ppm-project-manager
cd ppm-project-manager
Install composer packages:
composer install
The config-locale
dir will override settings in config
.
Create a database and change the settings in config-locale/DB.php
cp config/DB.php config-locale/DB.php
Check if you can connect to the server and create the database:
./cli.sh db --server-connect
create database ppm;
exit
You can look at the other config/
files, but you don't need to change these in order to run the system local now:
Load the sql files found in migration
into a database.
./cli.sh migrate --up
Run the built-in PHP server:
./serv.sh
On an apache2 server you will need something like the following added to your configuration, e.g. in a .htaccess
file placed in www
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Point a browser to http://localhost:8000, create an account and log in. There is no verification of email address.
Using SMTP for email confirmation:
cp config/SMTP.php config-locale/SMTP.php
cp config/Account.php config-locale/Acoount.php
- Remove
no_email_verify
inConfig-locale/Account.php
or set it to false. - Edit the
SMTP
configuration inconfig-locale/SMTP.php
.
Google login using OAuth:
cp config/Google.php config-locale/Google.php
- Set
google
inconfig-locale/Account.php
totrue
. - Setup google OAuth in
config-locale/Google.php
.
If you want the system to run on docker you may look at the the docker instructions.
water.css (A drop-in collection of CSS styles)
Favicon:
Convert favicon_io/android-chrome-192x192.png to 70x70 logo:
cd www && convert favicon_io/android-chrome-192x192.png -scale "70x70" assets/logo.png
MIT © Dennis Iversen