Giter Site home page Giter Site logo

belgiangeek / badassboard Goto Github PK

View Code? Open in Web Editor NEW
5.0 4.0 1.0 10.69 MB

Time to level up your homepage :muscle: :sunglasses:

Home Page: https://badassboard.herokuapp.com/

License: GNU General Public License v3.0

JavaScript 71.65% CSS 0.71% PowerShell 1.16% SCSS 16.35% EJS 10.13%
homepage rss rss-feed rss-aggregator rss-reader audio audio-player youtube youtube-dl downloader download-songs audio-files weather-forecast openweathermap-api playlist youtube-player youtube-video youtube-playlist youtube-search invidious

badassboard's Introduction

GitHub release (latest by date) GitHub code size in bytes Lines of code

̿̿ ̿̿ ̿'̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿

Screenshot

What is BadassBoard ?

This project intent to be an open source, self-hosted replacement for services like start.me.

Please note that this a project intented to LEARN web development. So do not expect a beautifully amazing state-of-the-art stuff 😇 . This might contains bugs or missing features you would LOVE to use. You're in such case ? Well, the deal is really simple : open a GitHub issue or a pull request 😉 .

Its features includes :

  • RSS reader ;
  • Weather forecast (thanks to the OpenWeatherMap API) ;
  • Web shortcuts to several websites (based on the DuckDuckGo Bangs system) ;
  • Audio streaming from YouTube thanks to the Invidious API (both playlists, mixes and videos are supported) ;
  • IT units converter (only from bytes to terabytes for now) ;
  • Instant Youtube Search ;
  • Basic chatbot ;
  • A YouTube channel ID to RSS converter ;

All of that available through a (nice ?) and customizable UI.

Installation

You must have Node.js installed on your system. If this is not the case, please follow this link : https://nodejs.org/en/download/.

Then, you can clone this repo or download the files using the download button in upper right corner of the main page, or by downloading the .zip file in the releases tab.

Once Node.js is installed, open a terminal/console in the project's root directory on your computer and install the dependencies by running the command npm install.

👉 Please note that this last step won't work if you do not have Node.js installed.

How to use it ?

First, make sure you are in the project's root directory. Then, you can launch the app by running the command npm run start in your console.

If you are connected to the Internet, you should get a nice message in your console, saying that you can connect to the app by typing http://<your_IP>:8080 or http://<your_hostname>:8080in your web browser.

A few notes about the features

Using the search field

By default, you can search the web thanks to the DuckDuckGo search engine, but you can choose another one from the settings panel.

AND you can use a few web shortcuts (or Webcuts) to get instant results in your browser from sites like Amazon, Wikipedia, Google, How-to Geek... Interested ? Just type !<Webcut> <your search term(s) in the search field, and you are good to go !

This search field can also be used to download audio files (!d <YouTube URL>) or to listen to some music (!p <YouTube URL or ID>). All that stuff in one place, nice uh ? 😉

Downloading audio files

As mentioned above, you can download audio streams from YouTube. There is two ways to do that :

  • The default way : the audio stream will be read and written in a .mp3 file. It works, but might take a lot of time to complete and generate some errors.

  • The most efficient way : you can use the most recent version of Youtube-dl. It is way faster and will provide you audio files with some metadata.

Windows users please put the Youtube-dl executable into the project's directory Linux users please put Youtube-dl (or a symbolic link to it) into the /usr/bin folder

Weather forecast

BadassBoard can provide you weather forecast thanks to the OpenWeatherMap API. This feature require a token. As there is already one provided, you can use it as it is. But, if you want, you can use your own. More info here.

Audio streaming

As mentioned above, you can stream YouTube videos or playlists (thanks to the Invidious API). Because Invidious is becoming more and more popular, you might encounter some issues while using this feature. In this case, a message will inform you that your request couldn't be completed. If you're facing it, I invite you to open an issue with the more details that you can provide. But keep in mind that this might be related to the Invidious instance being used, as the audio streaming feature is based on it.

Chatbot

Since the 0.3.0 version, a (basic) chatbot is embedded in BadassBoard.

It can respond to basic messages, but also provide you some information about the weather, give you a movie review (thanks to a built-in rottentomatoes.com scraping module), or search for terms and expressions on Wikipedia.

You can customize its look and feel using the settings menu.

Contributing

You found a bug or just have a suggestion ? Feel free to create an issue with the more details that you can provide (error code, context, etc.).

If you want to improve the app, you can create a pull request or fork it as well.

Development notes

Here are a few notes if you want to modify this project :

To make development easier, the client-side JS code is minified using the Minify package and the minify.js script.

The CSS code is generated with the help of the SCSS package.

Please note that these packages need to be installed globally on your system to function properly. In order to do that, just type npm i -g <package name> in your terminal.

Like mentioned in the package.json file, the CSS code can be compiled with the sass command, and the JS code can be minified by running node minify.

Libraries used

A special thank to the maintainers and creators of :

badassboard's People

Contributors

belgiangeek avatar dependabot[bot] avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mishajexia

badassboard's Issues

Chat messages overflow

Fix the chat messages container style to permanently be attached to the bottom and show the last message

Fix content adding bugs

the classnames and ID are the same when adding content on content_containers > 1

05/10: Seems to be fixed now event though I've done nothing...

Improve chatbot logic

Improve the chatbot language classification to prevent to many "I don't understand what you're saying" messages

invidio.us is deprecated, invidious.io should now be used

According to the Invidious project, the old invidio.us instance is now deprecated. The new official domain is https://invidious.io.

"The invidious-redirect website ( invidio.us ) is now https://redirect.invidious.io/

The instance API ( instances.invidio.us ) is now https://api.invidious.io/

The uptimerobot page ( uptime.invidio.us ) is now https://uptime.invidious.io/

https://git.invidious.io/ redirects to the Github page of the project: https://github.com/iv-org/invidious/

https://docs.invidious.io/ redirects to the documentation website of the project: https://github.com/iv-org/documentation/

https://invidious.io/ will become in the future a "project presentation" page (like https://searx.me/ ), we will use a markdown framework like Hugo."

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.