Gaia: a chrome extension that curates environmental news of a company

Overview

Contributors Forks Stargazers Issues MIT License


Logo

Gaia - Gaia: Your Environment News Curator
Call for Code 2021

Gaia: a chrome extension that curates environmental news of a company
Explore the docs »

View Demo on YouTube · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Infrastructure
  5. Roadmap
  6. Contributing
  7. License
  8. About The Team

About The Project

Logo

Gaia is a chrome extension which curates environment news of a brand. After installing the extension, you can highlight a word containing the company name or a brand name and then you get news affiliated with it.

They can keep you updated on the environmental impact of a certain brand. Gaia helps you become a wiser consumer because you can keep tabs on these brands' impact. Gaia supports consumers, specifically internet users, to be more aware of these companies’ environmental issues.

Built With

Data Source

Getting Started

To use the production version of Gaia, install Gaia Chrome Extension to use it directly on your Chrome browser.

Get this extension for free: pending, awaiting review

To get a local copy up and running follow these simple steps.

Prerequisites

  • Python 3.7
  • Have Docker installed on your machine. Guide on installing Docker: Ubuntu, Mac or Windows
  • (Recommended for running scripts) Have pip installed on your machine. More details.

Installation

  1. Clone the repo
         git clone https://github.com/JawaBaliIBM/Gaia.git
  2. Create a Python virtual environment, and activate it
        virtualenv env
        source env/bin/activate
  3. Install the required Python packages defined in requirements.txt
         pip install -r requrements.txt
  4. To run the API, prepare the server directory with Docker Compose
         docker-compose up -d
  5. Run the server
         python manage.py runserver

Run Gaia Web Extension on Your Local

  1. After cloning the repository, open chrome browser.
  2. At the top right, click More and then More tools and then Extensions.
  3. Make sure your Developer turned on.

Developer Mode.

  1. Click Load Unpacked Button

Developer Mode.

  1. Choose web-extension on cloned repository.
  2. You have web extension run locally on your browser.

Standalone Scripts

Several standalone scripts are available for news scraping and model training purposes.

  1. guardian_scrapping_script.py - A script to scrape The Guardian news as a JSON file. The JSON format follows the data returned by The Guardian News API.
  2. file_uploader.py - A helper script to upload file objects to IBM Cloud Object Storage.
  3. nlp/train_sentiment.py - A script to train a custom sentiment model in IBM Cloud NLU. More guide on IBM Cloud NLU Custom Sentiment Model.

To run the scripts with Python, you can follow the steps below:

  1. Create a Python virtual environment, and activate it
        virtualenv env
        source env/bin/activate
  2. Install the required Python packages defined in requirements.txt
         pip install -r requirements.txt
  3. Run the necessary scripts
         python <file_name>.py

Infrastructure

Infrastructure

Gaia Chrome Extension communicates with Gaia API to retrieve news related to a brand.

Gaia API uses IBM Cloud Function to curate news from The Guardian Open Platform daily, saves them in a form of JSON file saved in IBM Object Storage, and posts a request to analyze the named-entities and sentiment about the article.

Gaia API uses a pre-trained entity model and a custom sentiment model on top of IBM Cloud NLU. The custom sentiment model is trained on approximately 250 data points, using news extracted from The Guardian Open Platform. The brand and article information is saved in IBM Cloudant.

Roadmap

See the open issues for a list of proposed features (and known issues).

roadmap

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

About The Team

JavaBali Team

Fellita Candini - canfelli25 - [email protected]

May Iffah - mayiffah - [email protected]

Nur Intan Alatas - Nurintaaan - [email protected]

Valentina Artari - valentinakania - [email protected]

Project Link: Gaia

SymbLang are my programming language! Insired by the brainf**k.

SymbLang . - output as Unicode. , - input. ; - clear data. & - character that the main line start with. @value: 0 - 9 - character that the function

1 Apr 04, 2022
Donatus Prince 6 Feb 25, 2022
This is a simple bank management system based on Python.

Python Bank Management This is a simple bank management system based on Python. It's able to do basic operations of simple bank management. Outcome: W

Md. Rakibul Islam 3 Jan 06, 2022
A Github Action for sending messages to a Matrix Room.

matrix-commit A Github Action for sending messages to a Matrix Room. Screenshot: Example Usage: # .github/workflows/matrix-commit.yml on: push:

3 Sep 11, 2022
Strawberry Benchmark With Python

Strawberry benchmarks these benchmarks have been made to compare the performance of dataloaders and joined database queries. How to use You can run th

Doctor 4 Feb 23, 2022
CMPE 204 Modelling Project

CISC/CMPE 204 Modelling Project Welcome to the major project for CISC/CMPE 204 (Fall 2021)! Change this README.md file to summarize your project (few

totallyrin 2 May 16, 2022
Install packages with pip as if you were in the past!

A PyPI time machine Do you wish you could just install packages with pip as if you were at some fixed date in the past? If so, the PyPI time machine i

Thomas Robitaille 51 Jan 09, 2023
Free components that wrap up Python into Delphi and Lazarus (FPC)

Python for Delphi (P4D) is a set of free components that wrap up the Python DLL into Delphi and Lazarus (FPC). They let you easily execute Python scri

747 Jan 02, 2023
This is a spamming selfbot that has custom spammed message and @everyone spam.

This is a spamming selfbot that has custom spammed message and @everyone spam.

astro1212 1 Jul 31, 2022
This code can help you with auto update for-TV-advertisements in the store.

Auto-update-files-for-TV-advertisements-in-the-store This code can help you with auto update for-TV-advertisements in the store. It was write for Rasp

Max 2 Feb 20, 2022
Blender addon - Breakdown in object mode

Breakdowner Breakdown in object mode Download latest Demo Youtube Description Same breakdown shortcut as in armature mode in object mode Currently onl

Samuel Bernou 4 Mar 30, 2022
Ellipitical Curve Table Generator

Ellipitical-Curve-Table-Generator This script generates a table of elliptical po

Nishaant Goswamy 1 Jan 02, 2022
A Desktop application for the signalum python library

Signalum Desktop A Desktop application on the Signalum Python Library/CLI Tool. The Signalum Desktop application is an attempt to develop a single too

BISOHNS 35 Feb 15, 2021
Consolemenu on python with pynput

ConsoleMenu Consolemenu on python 3 with pynput Powered by pynput and colorama Description Модуль позволяющий сделать меню выбора с помощью стрелок дл

KrouZ_CZ 2 Nov 15, 2021
[CVPR 2020] Rethinking Class-Balanced Methods for Long-Tailed Visual Recognition from a Domain Adaptation Perspective

Rethinking Class-Balanced Methods for Long-Tailed Visual Recognition from a Domain Adaptation Perspective [Arxiv] This is PyTorch implementation of th

Abdullah Jamal 22 Nov 19, 2022
🎉 🎉 PyComp - Java Code compiler written in python.

🎉 🎉 PyComp Java Code compiler written in python. This is yet another compiler meant for babcock students project which was created using pure python

Alumona Benaiah 5 Nov 30, 2022
OTP-Bomber - An otp from MPL ID app, which can be spammed

OTP-Bomber An otp from MPL ID app, which can be spammed Note: Only available on

5 Oct 29, 2022
Provide Prometheus url_sd compatible API Endpoint with data from Netbox

netbox-plugin-prometheus-sd Provide Prometheus http_sd compatible API Endpoint with data from Netbox. HTTP SD is a new feature in Prometheus and not a

Felix Peters 66 Dec 19, 2022
Small C-like language compiler for the Uxn assembly language

Pyuxncle is a single-pass compiler for a small subset of C (albeit without the std library). This compiler targets Uxntal, the assembly language of the Uxn virtual computer. The output Uxntal is not

CPunch 13 Jun 28, 2022
An Advent calendar of small programming puzzles for a variety of skill sets and skill levels.

Advent of Code 2021 The Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be sol

Evan Cope 0 Feb 13, 2022