Create a Wordpress Plugin to register training material {SAIPH} and training taken by users

Job ID: 34795572

Budget: $750 – $1,500 USD

*****PLEASE READ THE WHOLE DESCRIPTION AS THERE ARE VERY IMPORTANT DETAILS PLUS ONE INFO THAT WILL LET ME KNOW IF YOU READ IT. I ONLY WILL READ BIDS THAT START WITH THE WORD "SAIPH" AS ITS FIRST LINE AND THAT CHANGE WHAT I ASK IN THE DESCRIPTION*****


This plugin will have 3 parts:

*In the admin backend will have a Menu Item with the label Trainings.
*The training will be stored in the Posts table with a post_type created for it as "orion_trainings" with the data of the training as postmeta and the versions as an array in the postmeta
*The frontend data will be stored also in the Posts table with a post_type created for it as "orion_trainings_records" with the information of the training as a JSON in the postcontent and in the postmeta and the users and each data as postmeta with the keys of the postmeta with the user id and the value a JSON with the user data mention below.

Part 1- Backend for super admin/Administrators (will show only to users with the Administrator role): Create X submenus for the Menu Trainings:
submenu 1) Create a Category with the possibility to handle parent/child categories.
submenu 2) Create an options page with a list of training and the ability to add new training. Each training will be assigned a Category plus can add or delete versions inside each training and be able to record the date of each version plus some other data per version. Also, each training will have a multiple option selection of roles.

Part 2- Backend for admin/Managers (will show only to users with the Administrator or Manager role): Create X submenus for the Menu Trainings:
submenu 1) Table with all users assigned to the Manager logged in. On that table have a column with a button to edit the individual training of each of his assigned users. The manager will be able to add a training but won't be able to remove a training that has been assigned individually or by roles (Only Super admin/Administrators can remove that assigned training). The Manager can request an N/A of a user for particular training. All this will be managed in the edit button. On this edit screen, will appear a table with all the training that the selected user is assigned and if the user takes the training will show the date and version of the training taken.

Part 3- Frontend (will show to all users): Create X shortcodes that will show different parts:
shortcode 1) Will show a page with a date box and a select to select one or many trainings. Below that select will show a button to add users to a table below that button. When the button is pressed will present a popup with a textbox. OnChange will have an ajax that will look in the system for any user with a usermeta that matched that text and add that user to the table and clear the textbox. The popup will have a close button so you can add multiple users to the table. The table must have the userID, the text written in the textbox, and the date selected above. At the end a submit button.

PLEASE REMOVE THE WORD "SAIPH" FROM THE TITLE AND ADD IT TO YOUR BID AS A SECOND LINE.
Related categories: PHP WordPress MySQL WordPress Plugin