/project-management-platform

📊 Database management platform

Primary LanguageJavaScript

Project Management Platform

PMP is a platform for managing task lists for projects. Create tasks. Assign them to employees.

This app features a custom made Interpreter for creating/deleting a large amount tasks at once.

Usage

Contents:

Accessing Platform

  1. Creating an Account
  2. Logging In
    1. As a Manager
    2. As an Employee

Using Platform

  1. Creating Tasks
  2. Deleting Tasks
  3. Filtering Tasks
  4. Template Syntax

Accessing Platform

First time setup

In order to access the PMP platform, a manager will create an account. During the account creation the manager will list the emails of the team members they want on their team. More team members can be added at a later time. The team members will recieve emails that allow them to setup their account password and settings.

As a Manager

  1. Go to the signup page
  2. Enter a valid email and password
  3. Enter the emails of the employees to add to the platform
  4. Confirm your account settings

As an Employee

As an employee your first time login link will be sent to you by email, where you will then be able to set your account password. Once your password is set you will be able to login from the main portal.

Using Platform

Creating Tasks

Tasks can be created either via the create task bar or the batch new tasks popup:

Create Task Bar

First open the Create Task Bar:

  1. Click Viewin the top left navigation menu
  2. Hover over Taskbars
  3. Click Show Create Task

Enter the task information into the relevant fields. The task will not add if the task or teams fields are left blank.

Next click Add Task To Database. The task will add and the bar will automatically close.

If you would like to add multiple tasks, ensure the Keep Open option is checked.

If you are adding large amounts of tasks that use similar formatting, it is much more efficient to use the Batch New Tasks feature.

Batching New Tasks

Multiple tasks can be added to the database by using a single template.

Templates can be very quickly written using strings, although it will likely be much easier to intially use the wizard to generate the correct template string.

To learn how to write templates, see the template syntax section of this document.

To open the wizard for a template input, click the ⚡ button next to the corresponding form.

Deleting Tasks

Tasks can be deleted either via selecting manually or batch deleting by matching regex/parameters:

Manual Selection

  1. Select the tasks to delete by clicking and dragging over them
  2. Click Edit in the top left navigation menu
  3. Hover over Delete
  4. Click Delete Selected

delete_gif

Batch Delete Tasks

First open the Batch Delete Tasks popup:

  1. Click File in the top left navigation menu
  2. Click Delete Tasks

For this example all completed tasks named "Deployment" tasks will be checked and then deleted:

  1. Click in the Task Regex form
  2. Type "Deployment"
  3. Click the Completion dropdown
  4. Select Complete
  5. Click the Check Matched Tasks button

The matched tasks to be deleted will then be displayed.To delete:

  1. Click the Delete 𝑥 Tasks button
  2. Click the Confirm button

batch_delete_gif

Filtering Tasks

The task list can be filtered for tasks that meet a specific set of criterion.

Open the filter via the following method:

  1. Click on View in the top left navigation menu
  2. Hover over Taskbars
  3. Click Show Filter

For this example the task list is filtered for tasks that are highly urgent and involve only the 2 main teams:

  1. Select the Active checkbox to turn on the filter
  2. Set Urgency Range to minimum 4
  3. For the Teams dropdown, select Team 1 & Team 2
  4. Set Match Type to AND

filtered1_gif

To further the example, the filtered list only needs to include tasks that have a deadline in the year 2020:

  1. Click the Deadline date
  2. Set the date to 31/12/2020
  3. Click the button

filtered2_gif

Template Syntax

Task Template Syntax

${n/l, #, a/d}

Where:

  • n is number, l is letter
  • # is number of digits, (skipped for letter)
  • a is ascending, d is descending

Examples:

  • BackendTest_${n} with 3 tasks would output: [BackendTest_0, BackendTest_1, BackendTest_2]
  • FrontendTest_${n,3,d} with 3 tasks would output: [FrontendTest_002, FrontendTest_001, FrontendTest_000]
  • Review_${l} with 4 tasks would output: [Review_a, Review_b, Review_c, Review_d]
  • feature_${l,d} with 5 tasks would output: [feature_z, feature_y, feature_x, feature_w, feature_v]

Date/Deadline Template Syntax

${#/#/#} +/- # n d/w/m/y

Where:

  • ${#/#/#} is the date/month/year (use t instead of a number for today's date/month/year)
  • + or - is whether the date modification is added or subtracted
  • # is the date modification multiplier
  • n is the task number index (leave out for static modification)
  • d/w/m/y is the unit of the modification (day, week, month or year)

Note:

${t} is shorthand for ${t/t/t}, today's date.
Multiple modifications can be applied to one date (i.e. ${t} + nd + 5y - w)

Examples:

  • ${1/1/2020}+2nd with 5 tasks would output: [1/1/2020, 1/3/2020, 1/5/2020, 1/7/2020, 1/9/2020]
  • ${31/10/2020}+5y with 3 tasks would output: [31/10/2025, 31/10/2025, 31/10/2025]
  • ${24/2/2020}-2nw with 5 tasks would output: [24/2/2020, 10/2/2020, 27/1/2020, 13/1/2020, 30/12/2019]
  • ${10/5/2021}-3nm+ny with 4 tasks would output: [10/5/2021, 10/2/2022, 10/11/2022, 10/8/2023]

To Do

Authentification is not yet implemented. Once implemented the manager account will be able to view the complete task list and assign tasks to individual teams. A team account will only be able to view the tasks assigned to them and tick them off as they are completed.