Skip to content

thinkofmia/Task-Meister-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task-Meister

Work involving Joomla-cms. It comes with a template (has 4 themes) and a custom-made recommender engine.

Default Theme Screenshot of Default Theme

Ice Theme Screenshot of Ice Theme

Red Theme Screenshot of Red Theme

Tree Theme Screenshot of Tree Theme

Check our website at: https://iwant2study.org/taskmeisterx/index.php/

Recommender Engine (Plugin)

Our Recommender Engine uses both Content-Based Filtering and Collaborative Filtering. With a plugin settings field, the scale/effectiveness of the filtering can also be adjusted to your joomla's liking.

Recommended Weightage

Content-Based Filtering

e.g. recommendPersonalArticles() Line 548 - 805

https://github.com/FremontTeng/Task-Meister/blob/master/plugins/tm_recommender/tm_recommender.php

Content-based filtering methods are based on a description of the item and a profile of the user's preferences.

In our engine, we take into account of the user's preferences. This includes their liked/disliked/deployed pages and their preferences on individal tags. This helps to better filter out the type of similar/related articles that they may like to better to cater to individual user. Our search engine also further cater to particular keywords to narrow down the filtering.

Collaborative Filtering

e.g recommendTrendingArticles() Line 404 - 547

https://github.com/FremontTeng/Task-Meister/blob/master/plugins/tm_recommender/tm_recommender.php

Collaborative filtering is based on the assumption that people who agreed in the past will agree in the future, and that they will like similar kinds of items as they liked in the past.

Our recommender takes into account of the overall likes and dislikes of an article, the activites made on each article and how recent the activities are, to further weigh the recommendation of the article. It also takes into account for what your class's may prefer: for example a student can also see articles that their teacher recommends/likes as well

Types of files inside the Repository

Components

  • Components are the largest and most complex extensions of them all; they can be seen as mini-applications. Our Review Component is located here.

Modules

  • Modules are more lightweight and flexible extensions used for page rendering. Most of the other display units such as the thumbs up buttons or the articles recommendations are located here.

Plugins

  • Plugins are more advanced extensions and are in essence event handlers. This is where our Recommendation Engine runs its functions.

Templates

  • A template is basically the design of the Joomla! powered website. Essentially the Look and Feel. Currently we are using our custom made Taskmeister template that comes with 4 themes.

Important Links for users/editors

SCSS file to edit the CSS of the taskmeister template:

Installing a template/module/plugin

Install Templates via FTP

  1. Simply upload the template folder here to the directory: /path_to_joomla/templates/ - where /path_to_joomla/ is the location of your Joomla! installation on the server. (Using any FTP software)
  2. Then go into extension manager and click on Discover in the sub menu.
  3. Click the checkbox to the left of your template and click on the button 'Install'.

Install by package

  1. Zip the relevant module/plugin/template folder
  2. Drag the zipped folder into the upload package tab
  3. Ensure installation success message is shown

Screenshot of Extensions: Install

Other ways of installation

See the website: https://docs.joomla.org/J3.x:Installing_a_template

Additional Installation/Set Up

Custom Tables: (Required for most modules)

For the Recommender Engine to work, please set up the four custom tables with the following fields as shown in the bottom screenshots. It is recommended to use the exact table and field names (so that you won't need to modify the ones in the modules).

Screenshots

Image of the 4 Custom Tables Shown above are the four custom tables used for the whole recommendation engine.

Image of the Article Stats Table Shown above are the following fields for the Article Stats Table.

  • articleid (Refers to the id of the article)
  • title (Refers to the title of the article)
  • tags (Refers to the tags of the article)
  • userchoice (Refers to the users' opinions of the article)
  • deployed (Refers to the list of users that deployed the article)
  • totallikes (Refers to the total likes of the article)
  • totaldislikes (Refers to the total dislikes of the article)
  • totaldeployed (Refers to the total number of users that deployed the article)

Image of the User Stats Table Shown above are the following fields for the User Stats Table.

  • userid (Refers to the id of the user)
  • name (Refers to the name of the user)
  • email (Refers to the email of the user)
  • userpreference (Refers to the list of tags that the user prefer, against or may try)
  • pageliked (Refers to the list of pages that the user likes)
  • pagedisliked (Refers to the list of pages that the user dislikes)
  • pagedeployed (Refers to the list of pages that the user deployed)

Image of the Teacher Stats Table Shown above are the following fields for the Teacher Stats Table.

  • teacherid (Refers to the id of the teacher)
  • code (Refers to the teacher's unique code/id)
  • students (Refers to the list of students that the teacher has)
  • weightagelikes (Refers to the teacher's modifier for their class's likes)
  • weightagedeployment (Refers to the teacher's modifier for their class's deployed articles)
  • weightagetouched (Refers to the teacher's modifier for their class's touched articles)
  • weightagepreferred (Refers to the teacher's modifier for their class's preferred tags)
  • weightagenotpreferred (Refers to the teacher's modifier for their class's against tags)
  • weightagemaytry (Refers to the teacher's modifier for their class's may try tags)
  • preferencelink (Unused)
  • bonustags (Refers to the teacher's modifier for their class to include additional tag search)

Image of the Recommendation Stats Table Shown above are the following fields for the Recommendation Stats Table.

  • date (Refers to the date of the action)
  • aid (Refers to the article id)
  • uid (Refers to the user id)
  • action (Refers to the user's action on the particular article)

End Note

To see more information about the individual parts of the repository, please read the readmes in their respective folders.

About

Work involving Joomla-cms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •