This service is a part of a group of services who plot to rid the web of clickbait by relying on user input and machine learning. The completed application functions by storing its user clicked items and using them to disseminate what is clickbait and what is legitimate news, stories, etc. This is done in conjunction with a machine learning classificator. The full application functions on all sites and thus can allow you to be more productive while browsing the web. It functions by providing the user with a slider that givies the possibility to filter content deemed clickbait or highlight content that is deemed not. The application also shows its user a topology of the most clickbaity content of each domain.
This service is essentially a backend that authenticates/identifies the user and stores/rates his clicks. This service also maintains db sanity (scheduler) and maps user visited domains. For more info visit the application CLICKBAIT-PORTAL and download the user application/plugin from the CHROME-STORE.
CLICKBAIT-FILTER-SERVICE uses a number of open source projects:
- NODE.JS - JAVASCRIPT RUNTIME ENVIRONMENT
- EXPRESS.JS - JAVASCRIPT WEB FRAMEWORK
- TENSORFLOW - MACHINE LEARNING LIBRARY
- MONGOOSE - MONGODB OBJECT MODELING
- AXIOS - HTTP CLIENT LIBRARY
- EXPRESS-JWT - EXPRESS JWT MIDDLEWARE
- EXPRESS-JWT-AUTHZ - JWT VALIDATION LIBRARY
- NODE-JWT - NODE JWT LIBRARY
- DOTENV - ENVIRONMENT VARIABLE LOADER
- COMPRESSION - HTTP COMPRESSION MIDDLEWARE
- NODE-SCHEDULE - CRON LIKE NOT TASK SCHEDULER
CLICKBAIT-FILTER-SERVICE requires Node.js v10+ to run.
Install node dependancies for the project:
$ cd click_bait_filter_be
$ npm install
This service is a part of a multi application project that features the following git repositories:
Service Name | Description | Maintainer |
---|---|---|
click_bait_filter_extension | Chrome Extensions Plugin | LeadShuriken |
click_bait_filter_be(TEST_SERVER) | Node Application Test Server | LeadShuriken |
click_bait_filter_j | Spring Production Server | LeadShuriken |
click_bait_filter_tflow | Java Tensor Flow Server | LeadShuriken |
click_bait_filter_nlp | TensorFlow Model Generator/Updater | LeadShuriken |
click_bait_filter_portal | Service and Information Portal | LeadShuriken |
For development the application should have the following structure:
| .
| +-- click_bait_filter_extension
| +-- click_bait_filter_be
| +-- click_bait_filter_j
| +-- click_bait_filter_tflow
| +-- click_bait_filter_nlp
| +-- click_bait_filter_portal
This as 'click_bait_filter_nlp' uses the 'click_bait_filter_be' api's for filtering links. 'click_bait_filter_portal' is just static html which can preside anywhere.
This application is an Express Application;
-
WITH MICROSOFT VISUAL STUDIO CODE
To run the application, open the project in Microsoft VS Code and navigate to the .vscode folder.
There you will see the launch.json file. And create this run configuration:
{ "type": "node", "request": "launch", "name": "LAUNCH", "env": { "API_URL": "/api", "MONGODB_URI": "<MONGO CONNECTION STRING>", "PORT": "4000" }, "program": "${workspaceFolder}/index.js", "restart": true, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" }
More information on MONGO CONNECTION STRING formats.
-
WITH CLI COMMANDS
Open the terminal and navigate to the root project folder.
$ export API_URL=/api && export MONGODB_URI=<MONGO CONNECTION STRING> && export PORT=4000 && node index.js
This launches the service on: http://localhost:4000
- Tests and Docs