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

Explore-bikeshare-data - GitHub project as part of the Programming for Data Science with Python Nanodegree from Udacity

Date created February 10, 2022 Project Title Explore US Bikeshare Data Descripti

Thárcyla 1 Feb 14, 2022
Youtube Channel Website

Videos-By-Sanjeevi Youtube Channel Website YouTube Channel Website Features: Free Hosting using GitHub Pages and open-source code base in GitHub. It c

Sanjeevi Subramani 5 Mar 26, 2022
A discord group chat creator just made it because i saw people selling this stuff for like up to 40 bucks

gccreator some discord group chat tools just made it because i saw people selling this stuff for like up to 40 bucks (im currently working on a faster

baum1810 6 Oct 03, 2022
:snake: Complete C99 parser in pure Python

pycparser v2.20 Contents 1 Introduction 1.1 What is pycparser? 1.2 What is it good for? 1.3 Which version of C does pycparser support? 1.4 What gramma

Eli Bendersky 2.8k Dec 29, 2022
python DroneCAN code generation, interface and utilities

UAVCAN v0 stack in Python Python implementation of the UAVCAN v0 protocol stack. UAVCAN is a lightweight protocol designed for reliable communication

DroneCAN 11 Dec 12, 2022
Online learning platform

🛠 Status: In Development Teached is currently in development. So we encourage you to use it and give us your feedback, but there are things that have

Mohamed Nesredin 2 Feb 07, 2021
qecsim is a Python 3 package for simulating quantum error correction using stabilizer codes.

qecsim qecsim is a Python 3 package for simulating quantum error correction using stabilizer codes.

44 Dec 20, 2022
A fancy and practical functional tools

Funcy A collection of fancy functional tools focused on practicality. Inspired by clojure, underscore and my own abstractions. Keep reading to get an

Alexander Schepanovski 2.9k Dec 29, 2022
Material de apoio da oficina de SAST apresentada pelo CAIS no Webinar de 28/05/21.

CAIS-CAIS Conjunto de Aplicações Intencionamente Sem-Vergonha do CAIS Material didático do Webinar "EP1. Oficina - Práticas de análise estática de cód

Fausto Filho 14 Jul 25, 2022
Automatically re-open threads when they get archived, no matter your boost level!

ThreadPersist Automatically re-open threads when they get archived, no matter your boost level! Installation You will need to install poetry to run th

7 Sep 18, 2022
A complete python calculator with 2 modes Float and Int numbers.

Python Calculator This program is made for learning purpose. Getting started This Program runs using python, install it via terminal or from thier ofi

Felix Sanchez 1 Jan 18, 2022
Python with the scientific stack, compiled to WebAssembly.

Pyodide may be used in any context where you want to run Python inside a web browser.

9.5k Jan 09, 2023
A python script to search for k-uniform Euclidean tilings.

k-uniform-solver A python script to search for k-uniform Euclidean tilings. This project's aim is to replicate and extend the list of k-uniform Euclid

3 Dec 06, 2022
A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.

██████╗ ██╗██████╗ ███████╗██╗ ██╗███╗ ██╗███████╗ ██████╗ ██╔══██╗██║██╔══██╗██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝ ██████╔╝██║██████╔╝█

Julian Kemmerer 391 Jan 01, 2023
This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time

This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time. It uses SQLAlchemy for ORM and Alembic for database migrations.

Majid Iranpour 5 Apr 16, 2022
The RAP community of practice includes all analysts and data scientists who are interested in adopting the working practices included in reproducible analytical pipelines (RAP) at NHS Digital.

The RAP community of practice includes all analysts and data scientists who are interested in adopting the working practices included in reproducible analytical pipelines (RAP) at NHS Digital.

NHS Digital 50 Dec 22, 2022
A very simple boarding app with DRF

CRUD project with DRF A very simple boarding app with DRF. About The Project 유저 정보를 갖고 게시판을 다루는 프로젝트 입니다. Version Python: 3.9 DB: PostgreSQL 13 Django

1 Nov 13, 2021
Team Hash Brown Science4Cast Submission

Team Hash Brown Science4Cast Submission This code reproduces Team Hash Brown's (@princengoc, @Xieyangxinyu) best submission (ee5a) for the competition

3 Feb 02, 2022
Excel cell checker with python

excel-cell-checker Description This tool checks a given .xlsx file has the struc

Paul Aumann 1 Jan 04, 2022
Whatsapp Messenger master

Whatsapp Messenger master

Swarup Kharul 5 Nov 21, 2021