Giter Club home page Giter Club logo

compodio's Introduction

compodio

Work in progress, currently online at https://www.compodio.com.

Some community radio stations post audio recordings of their shows online, but do not provide a podcast feed. This project provides rrs feeds for radio shows along side a UI with search and categoization features.

Overview

UI folder

Contains a next.js project using SSR, react-query for server state, CSS modules for styling, and fuse.js for search.

scraper folder

Contains a python Scrapy project that scrapes show data from radio station websites.

In addition Sci-kit learn is used to:

  • Generate tags for shows based on their descriptions in show_keywords.py
  • Perform k-means clustering on show image colours in image_colour.py in order to generate the show specific CSS gradients used in the UI.

scrape_images.py downloads show images and uses Pillow to generate a set of responsive images for the UI.

data folder

Contains a php api, and the podcast feed generator.

The api fetches data from a mysql database and returns it as json for the UI to consume.

data/public/index.php is the entry point for poddcast feeds. It includes data/private/feed_retreiver.php to fetch data from the database and generates rss feeds for each show.

db folder

Contains database dumps

Development

Prerequisites

Setup

  1. Clone the repo to local server folder (required for the php portion of the project)
  2. Install python dependencies: pip install -r scraper/requirements.txt
  3. Install next.js dependencies in the UI folder: npm install
  4. import database from db/compodio.sql
  5. add db credentials for php to data/private/db_credentials.php using data/private/db_credentials_default.php as a template
  6. add db credentials for python to scraper/radio_scrape/radio_scrape/DBConfig.py using DBConfig-default.py as a template
  7. define local path for show images in scraper/radio_scrape/radio_scrape/scrape_images.py
  8. In /UI add .env.local file with the following contents:
NEXT_PUBLIC_API_URI = 'http://localhost/path-to-project-folder/data/'
NEXT_PUBLIC_feed_URI = 'http://localhost/path-to-project-folder/feed/'
NEXT_PUBLIC_image_server_URI = 'http://localhost/compodio_images/'

compodio's People

Contributors

shawncaza avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

compodio's Issues

Patch not working on Typeform, why not choose open source alternative?

Hey Shawn!

I am writing to you because I found your issue with updating Typeform forms with a PATCH.

My name is Johannes, I am one of the co-founders of Formbricks (https://formbricks.com/)

We're building open-source form and survey infrastructure and will release our API this week. I'd love to hear more about what you have built with Typeform and how your developer experience has been.

We are looking for people exactly like you trying to tape custom code to Typeform. Many don't have the greatest experience and we would like to know what we should do right to get everyone building on top of Formbricks in the future.

If you have Discord we could chat there at https://formbricks.com/discord

Thanks a lot!
Johannes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.