Writing a WordPress plug-in to sell online courses.

Job ID: 36966248

Budget: $250 – $750 USD

Basic requirements for a plugin to sell online courses on WordPress.
Read every point before you bid.
If you can't write such a plugin don't make a bid.
(I know there are other plugins to sell courses, but I am not interested in rewriting other plugins, I need a plugin for WordPress, along with transferring the copyright to me)
This ad is about writing a WordPress plugin that I can share as my own plugin.
Please do not ask for the maximum budget - it is already set.
Please do not give price offers in which you are not able to complete this order - respect my time.


1.The plugin can be run under the condition of installed plugins, Elementor, WooComerce and from the specified version of WordPress in the code, as well as from the specified version of WooCommerce and the specified version of Elementor (from the currently latest and stable).
2.The plugin should work flawlessly with Hello Elementor theme.
3. each course created is also a product in WooCommerce.
4.The price of the course can also be set when creating the course from the plugin.
5.Only administrator or teacher can create a course.
6.Creating a new lesson for a course, automatically starts in Elementor mode.
7.The plug-in provides 3 types of users with different permissions, administrator, teacher, student.
8.Administrator can manually create and delete accounts for teachers and add and delete students to the course and everything else.
9.Teacher does not have access to admin panel, but can create courses, can create Landing Page, can add and delete students manually.
10.Each course has the ability to set in days, the access time from the date of paid purchase, for example, the course is valid 365 days, after that time access is disabled (This information should be displayed and editable next to the course title, when creating the course).
11. each course created must have a new slug, defined when creating the course, e.g. Yourdomain.com/course1/.
12. each course consists of any number of lessons.
13. each lesson is one page, which can be created with Elementor.
14. each lesson has a link, e.g. Yourdomain.com/course3/lesson2
15. next to the lesson title, when creating the lesson, you can enter the day number when it will be available from the date of payment of the order (the default is 0 i.e. available immediately after confirming the purchase in WooCommerce).
16. the plugin has the ability to send email notifications (to the student) when the next lesson is made available, via email, it must have the ability to provide login credentials via SMTP, or choose another plugin to send emails if available.
17. the plugin does not run on the frontend by default, it works only on pages intended for the course (does not load any CSS or JS styles).
18. the plugin has the ability to create Landing Page using Elementor editor, then just paste the shortcode. The shortcode will create a form that will send the Name and email, as well as a checkbox, to the Mailwizz emailing system using the API.
19.The plugin must have a place to enter the API key to Mailwizz in the admin panel.
20. the Shortcode for Landing Page (Mailiwzz form) has 3 versions, which differ in CSS design.
21.The plugin must be multilingual, the default language is English, you can use the multilingual technology from Wordpress.
22.Operation of the plugin must be intuitive.
23. disabling the plugin does not delete anything in the database.
24. the plugin has its own page with additional settings in the admin panel, among these settings there is also a setting that by default does not allow you to delete data created with the plugin when uninstalling it. 
You can manually select this setting that deletes database entries etc. after uninstallation.
25.The plugin must not contain hidden bugs or code that can track users' actions.
26.The plugin should be resistant to attack attempts, using uploaded content, it should use security from wordpress.
27.The entire plugin must be written object-oriented.
28.For each file, there must be a short comment on what it does in English, written in google docs.
29. all communication about this collaboration., must be done through freelancer.com.
30. if there are numbered questions or sentences in the conversation between us, the answer should include the numbers of the topics to which it applies.