Skip to content
Snippets Groups Projects

Credit third-party projects

Merged Agate requested to merge third-party-projects into master
5 files
+ 356
2
Compare changes
  • Side-by-side
  • Inline
Files
5
+ 328
0
 
<template>
 
<div>
 
<div class="row">
 
<section>
 
<h1>
 
<translate translate-context="Content/Credits/Header"
 
>Credits</translate
 
>
 
</h1>
 
<p>
 
<translate translate-context="Content/Credits/Paragraph">
 
Funkwhale lives thanks to our wonderful community, but wouldn't exist at all without many, many other people, projects and services. Kudos to them!
 
</translate>
 
</p>
 
<div v-for="group in groups" :key="group.id">
 
<h2 :id="group.id">
 
<i :class="['fa', group.icon]"></i>&nbsp;
 
{{ group.label }}
 
</h2>
 
<p>{{ group.summary }}</p>
 
<table>
 
<tr v-for="row in group.rows" :key="row.label">
 
<td>
 
<a :href="row.url" target="_blank" rel="noopener">
 
{{ row.label }}
 
</a>
 
</td>
 
<td>
 
{{ row.summary }}
 
</td>
 
</tr>
 
</table>
 
<hr class="hide divider">
 
</div>
 
</section>
 
</div>
 
</div>
 
</template>
 
 
<script>
 
import PageMixin from "../PageMixin";
 
 
export default {
 
mixins: [PageMixin],
 
methods: {
 
getInnerTitle() {
 
return this.$pgettext("Content/Credits/Header", "Credits");
 
}
 
},
 
computed: {
 
groups () {
 
let data = [
 
{
 
id: 'ogranization-tools',
 
icon: 'fa-comments-o',
 
label: this.$pgettext("Content/Credits/Header", "Community tools"),
 
summary: this.$pgettext("Content/Credits/Paragraph", "Our community needs tools to discuss, make decisions, share information, and keep track of what's going on…"),
 
rows: [
 
{
 
label: "Matrix/Riot",
 
url: "https://matrix.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "An open network for secure, decentralized communication"),
 
},
 
{
 
label: "Plume",
 
url: "https://joinplu.me/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A federated blogging application"),
 
},
 
{
 
label: "CodiMD",
 
url: "https://github.com/hackmdio/codimd",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Realtime collaborative markdown notes on all platforms"),
 
},
 
{
 
label: "Mastodon",
 
url: "https://joinmastodon.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A decentralized social network"),
 
},
 
{
 
label: "Loomio",
 
url: "https://www.loomio.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A forum and decision making platform"),
 
},
 
{
 
label: "GitLab",
 
url: "https://gitlab.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "An open source software forge"),
 
},
 
{
 
label: "Weblate",
 
url: "https://weblate.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Web-based continuous localization"),
 
},
 
{
 
label: "Bitwarden",
 
url: "https://bitwarden.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Open source password management"),
 
},
 
{
 
label: "bitwarden_rs",
 
url: "https://github.com/dani-garcia/bitwarden_rs",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Unofficial Bitwarden compatible server written in Rust"),
 
},
 
{
 
label: "Dolibarr",
 
url: "https://www.dolibarr.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Open Source ERP & CRM"),
 
},
 
{
 
label: "Open Collective",
 
url: "https://opencollective.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "An organization for your community, transparent by design"),
 
},
 
]
 
},
 
{
 
id: 'infrastructure',
 
icon: 'fa-database',
 
label: this.$pgettext("Content/Credits/Header", "Hosting and infrastructure"),
 
summary: this.$pgettext("Content/Credits/Paragraph", "All our tools and services need to be deployed, monitored, updated, backed-up…"),
 
rows: [
 
{
 
label: "Debian",
 
url: "https://www.debian.org",
 
summary: this.$pgettext("Content/Credits/Paragraph", "The Universal Operating System"),
 
},
 
{
 
label: "Proxmox VE",
 
url: "https://www.proxmox.com/en/proxmox-ve",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Open-Source Virtualization Platform"),
 
},
 
{
 
label: "Docker",
 
url: "https://docs.docker.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A way to run applications securely isolated in a container, packaged with all its dependencies and libraries."),
 
},
 
{
 
label: "nginx",
 
url: "https://nginx.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "The open source web server that powers 400 million websites"),
 
},
 
{
 
label: "letsencrypt",
 
url: "https://letsencrypt.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A free, automated, and open Certificate Authority"),
 
},
 
{
 
label: "Mailcow",
 
url: "https://mailcow.email/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "The mailserver suite with the 'moo'"),
 
},
 
{
 
label: "Cabot",
 
url: "https://cabotapp.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Self-hosted watchdog for your websites and infrastructure"),
 
},
 
{
 
label: "Backupninja",
 
url: "https://0xacab.org/riseuplabs/backupninja",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A silent flower blossom death strike to lost data"),
 
},
 
{
 
label: "Ansible",
 
url: "https://docs.ansible.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "An IT automation tool"),
 
},
 
]
 
},
 
{
 
id: 'funkwhale',
 
icon: 'fa-music',
 
label: this.$pgettext("Content/Credits/Header", "Funkwhale"),
 
summary: this.$pgettext("Content/Credits/Paragraph", "The Funkwhale software was made possible by these projects"),
 
rows: [
 
{
 
label: "MusicBrainz",
 
url: "https://musicbrainz.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "An open music encyclopedia that collects music metadata and makes it available to the public"),
 
},
 
{
 
label: "Subsonic applications",
 
url: "/apps/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "All third-party applications compatible with the Subsonic protocol"),
 
},
 
{
 
label: "PostgreSQL",
 
url: "https://www.postgresql.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "The World's Most Advanced Open Source Relational Database"),
 
},
 
{
 
label: "Redis",
 
url: "https://redis.io/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Redis is an open source, in-memory data structure store, used as a database, cache and message broker"),
 
},
 
{
 
label: "Sphinx",
 
url: "https://www.sphinx-doc.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A tool that makes it easy to create intelligent and beautiful documentation"),
 
},
 
{
 
label: "Third-party packagers",
 
url: "https://docs.funkwhale.audio/installation/#third-party-packages",
 
summary: this.$pgettext("Content/Credits/Paragraph", "All the individuals who maintain installation packages for Funkwhale"),
 
},
 
{
 
label: "ActivityPub",
 
url: "https://activitypub.rocks/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A decentralized social networking protocol"),
 
},
 
]
 
},
 
{
 
id: 'funkwhale-depedencies-front',
 
icon: 'fa-mouse-pointer',
 
label: this.$pgettext("Content/Credits/Header", "Funkwhale (user interface)"),
 
summary: this.$pgettext("Content/Credits/Paragraph", "Our user interface is built on top of these projects and technologies."),
 
rows: [
 
{
 
label: "Javascript",
 
url: "https://developer.mozilla.org/fr/docs/Web/JavaScript",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A lightweight, interpreted, or just-in-time compiled programming language"),
 
},
 
{
 
label: "Vue.js",
 
url: "https://vuejs.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "The Progressive JavaScript Framework"),
 
},
 
{
 
label: "Fomantic-UI",
 
url: "https://fomantic-ui.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A development framework that helps create beautiful, responsive layouts using human-friendly HTML"),
 
},
 
{
 
label: "howler.js",
 
url: "https://howlerjs.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "howler.js makes working with audio in JavaScript easy and reliable across all platforms"),
 
},
 
{
 
label: "axios",
 
url: "https://github.com/axios/axios/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Promise based HTTP client for the browser and node.js"),
 
},
 
{
 
label: "vue-gettext",
 
url: "https://github.com/Polyconseil/vue-gettext",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Translate your Vue.js applications with gettext"),
 
},
 
{
 
label: "webpack",
 
url: "https://webpack.js.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A static module bundler for modern JavaScript applications"),
 
},
 
{
 
label: "All our Javascript dependencies",
 
url: "https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/front/package.json",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Because we cannot list every single dependency here ;)"),
 
},
 
]
 
},
 
{
 
id: 'funkwhale-depedencies-back',
 
icon: 'fa-server',
 
label: this.$pgettext("Content/Credits/Header", "Funkwhale (backend)"),
 
summary: this.$pgettext("Content/Credits/Paragraph", "The Funkwhale server is built on top of these projects and technologies."),
 
rows: [
 
{
 
label: "Python",
 
url: "https://www.python.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A programming language that lets you work quickly and integrate systems more effectively"),
 
},
 
{
 
label: "Django",
 
url: "https://www.djangoproject.com/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "The Web framework for perfectionists with deadlines"),
 
},
 
{
 
label: "Django REST framework",
 
url: "https://www.django-rest-framework.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A powerful and flexible toolkit for building Web APIs"),
 
},
 
{
 
label: "Django Channels",
 
url: "https://channels.readthedocs.io/en/latest/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A project that takes Django and extends its abilities beyond HTTP"),
 
},
 
{
 
label: "Gunicorn",
 
url: "https://gunicorn.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A Python WSGI HTTP Server for UNIX"),
 
},
 
{
 
label: "Uvicorn",
 
url: "https://www.uvicorn.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A lightning-fast ASGI server, built on uvloop and httptools"),
 
},
 
{
 
label: "Celery",
 
url: "http://www.celeryproject.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Distributed Task Queue"),
 
},
 
{
 
label: "Mutagen",
 
url: "https://mutagen.readthedocs.io/en/latest/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A Python module to handle audio metadata"),
 
},
 
{
 
label: "FFmpeg",
 
url: "https://www.ffmpeg.org/",
 
summary: this.$pgettext("Content/Credits/Paragraph", "A complete, cross-platform solution to record, convert and stream audio and video"),
 
},
 
{
 
label: "Pytest",
 
url: "https://pytest.org",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Helps you write better programs"),
 
},
 
{
 
label: "All our Python dependencies",
 
url: "https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/requirements/base.txt",
 
summary: this.$pgettext("Content/Credits/Paragraph", "Because we cannot list every single dependency here ;)"),
 
},
 
]
 
},
 
]
 
return data
 
}
 
}
 
};
 
</script>
Loading