Sign inSign up

programie/teamplaner

By programie

•Updated 6 months ago

A simple calendar allowing to plan recurring events in teams (e.g. shift planing)

Image
0

5.5K

programie/teamplaner repository overview

⁠Team Planer

A simple calendar allowing to plan recurring events in teams (e.g. shift planing).

DockerHub GitHub release

⁠Requirements

  • Webserver (e.g. Apache)
  • PHP 7.0 or newer
  • MySQL

If you directly clone this repository (instead of downloading one of the pre-built releases), you will need those tools as well:

  • Composer⁠ (to download PHP dependencies)
  • bower⁠ (to download frontend JavaScript dependencies)
  • If not already done, download the latest release⁠.
  • Execute php bin/update-config.php to create or update your configuration file
  • Edit the config.json file in the config folder (See section Configuration for details)
  • Import database.sql⁠ into your MySQL database
  • Configure your webserver so your document root points to the httpdocs folder
  • Create the users for your team (See section User management for details)
  • Use it

⁠Installation using Docker

  • Use the Docker image programie/teamplaner from Docker Hub
  • Create a config.json file and mount it into the container at /app/config/config.json (See section Configuration for details)
  • Import database.sql⁠ into your MySQL database
  • Create the users for your team (See section User management for details)
  • Use it

⁠Installation from the Git repository

  • Clone this repository: git clone https://github.com/Programie/TeamPlaner.git
  • Execute bin/build.sh to build the application
  • Execute php bin/update-config.php to create or update your configuration file
  • Edit the config.json file in the config folder (See section Configuration for details)
  • Import database.sql into your MySQL database
  • Configure your webserver so your document root points to the httpdocs folder
  • Create the users for your team (See section User management for details)
  • Use it

⁠Configuration

The configuration is done in a simple JSON file config.json which is located in the config folder. You can create or update it by executing php bin/update-config.php.

⁠User management

Currently, you have to manage users directly in the database. An easier user management is planed for one of the next releases.

⁠Create a new user
  • Connect to your database
  • Create a new entry in the teams table
    • id: NULL or omit the field (Use next auto increment value)
    • name: An unique name not containing any special characters (especially NOT a slash "/")
    • title: The title for the team
  • Create an entry for each user in the users table
    • id: NULL or omit the field (Use next auto increment value)
    • username: The username you want to use
    • additionalInfo: Any additional information for the user (or NULL or omit the field)
    • token: Any 32 character string which can be used for authorization (set to NULL or omit the field to disable token authorization)
  • Create an entry for each team member in the teammembers table
    • id: NULL or omit the field (Use next auto increment value)
    • teamId: id from the teams table
    • userId: id from the users table
    • startDate: NULL or a date in format "YYYY-MM-DD" on which the user joins in the team
    • endDate: NULL or a date in format "YYYY-MM-DD" on which the user leaves the team
⁠Remove an existing user
  • Connect to your database
  • Delete the entry of the user you want to remove from the users table

⁠Extensions

It is possible to extend some parts of Team Planer using extensions.

Currently, the following features are supported to be customized/implemented:

  • Login/Authentication (e.g. to implement LDAP or something else)
  • Display holidays (shows country specific holidays in the calendar)
  • Reports (generates a report which can be sent automatically via mail)

Extensions are located in the extensions folder in the root of this application which is not created by default.

⁠Testing with Docker

  • Build and start the containers using docker compose up --build
  • Import sample data into the MySQL database: docker compose exec -T mysql mariadb -u teamplaner -pteamplaner teamplaner < sample_data.sql
  • The frontend will be available on http://localhost:8080⁠.

Tag summary

Content type

Image

Digest

sha256:ccb99548b…

Size

93.5 MB

Last updated

6 months ago

docker pull programie/teamplaner