cascode _ 4957b36355 | ||
---|---|---|
.gitea/workflows | ||
ci | ||
src | ||
.gitignore | ||
ARCHITECTURE.md | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
MODELS.md | ||
README.md | ||
SCHEMA.md | ||
env.example |
README.md
Aural Isle
Overview
Aural Isle is a web application built to provide a simple, easy to manage way for musicians (and record labels) to publish their work for their audiences. It is a hub from which an artist can grow a community of support.
It is also suitable for use by music reviewers, playlist makers, and casual listeners who want to be able to access and share (selectively!) their music collection from anywhere.
Current Status
This project is just getting off the ground and is not yet ready for use.
Vision
Musicians need a way to get their work out into the world. They need to be able to get their work in front of their audiences, and they need to be able to get paid. Traditionally, the music industry has been controlled by gatekeepers - record label execs, distribution channels, promotion and marketing channels. We aim to provide a way to bypass those gatekeepers, to keep control of your work in your hands without forcing you to become a computer expert.
Fans of music, both professionally (music reviewers and critics, DJs, radio personalities, etc.) and casually (listeners, collectors, etc.), also need a way to share what they experience. Sharing what we like is one of the most powerful ways we can draw attention to artists we'd like to support, so we also aim to make this tool appropriate for those use cases.
Goals
Our overall goal is to provide a platform that musicians, record labels, curators, and fans can use to support themselves and others in the production of art. The world can always use more art.
We want to accomplish this through empowering the people that are creating the art and leaving control of their work in their hands rather than in the hands of rent-seeking corporate platforms.
We will use open source technologies and open standards.
Non-Goals
We are not interested in integrations with corporate silos; however, we are pragmatic and understand that musicians need to eat regardless of where their grocery budget comes from, so we will add integrations to publish to silos from your Aural Isle, but you will remain in ultimate control of where your content is available.
We are not interested in blockchain integrations or NFTs and will not be implementing any support for anything of the sort. We're not trying to bake the planet more or provide arbitrage opportunities.
Roadmap
We have a lot of plans for the future of this project, but we also want to get it up and running and into the hands of folks who will find it useful as quickly as we can. The following are the current goals of the project in the short term and in the longer term:
Short Term Tasks
- Datastore
- sqlite database support
- Basic authentication/authorization
- OAuth2 support
- Role-Based Authorization Control (RBAC)
- siteadmin role (superadmin, full control)
- labeladmin role
- artist role
- reviewer role
- fan role
- guest role (public view)
- Content management
- Basic theming support
- Album support:
- Upload new album
- Transcode to desired formats for release automatically
- At time of upload (optionally, if processing is more constrained than storage - default)
- on-the-fly at time of download (optionally, if storage is more constrained than processing)
- Transcode to desired formats for release automatically
- Modify existing album/album tracks
- modify binary content (track data itself)
- modify album/track metadata tags
- re-transcode as necessary
- Make album private (default)
- Make album public
- Set album price
- Set track price(s)
- Set album/track format(s)
- Tag/Untag album
- View album
- Play album
- Buy album
- Favorite/unfavorite album
- Add comment to album
- Delete album
- Tag/untag track
- View track
- Play track
- Buy track
- Favorite/unfavorite track
- Add comment to track
- Upload new album
- Article support:
- Create new article
- Modify existing article
- Make article private (default)
- Make article public
- Add comment to article
- Approve comment (publish to article)
- Reject comment (do not publish to article)
- RSS Feeds:
- Newest Uploads
- Newest Articles
- Newest Comments
- Favorite Albums
- Favorite Tracks
- Purchases
- Storefront support:
- Payment gateway integration(s):
- Paypal
- Digital delivery
- Payment gateway integration(s):
- Metrics
- access logging
- purchase logging
Long Term Tasks
Our long term goals target a version of Aural Isle that will enable emergent network effects by making it easy for you (and optionally others) to share your work with their social networks in such a way to provide increased visibility without giving up control over who can access and promote your work.
- Datastore
- support for more robust RDBMSs
- postgres
- mariadb
- other?
- support for more robust RDBMSs
- Authentication/Authorization
- twitch account support
- discord account support
- youtube account support?
- Content Management
- Label support:
- manage multiple artists
- Playlist support:
- Create new playlist
- Edit playlist
- Share playlist
- Make playlist public
- Make playlist private
- Subscribe to playlist
- Delete playlist
- Label support:
- Storefront support:
- Payment gateway integrations:
- stripe
- square
- liberapay
- other?
- Physical delivery/fulfillment support
- Payment gateway integrations:
- Federation support:
- Federation via RSS
- Federation via ActivityPub
- Federation via WebMentions
Technology
We will be using the rust programming language to provide a single binary executable for supported platforms. We will be leveraging the warp crate among others. We will provide thorough installation, operations, and maintenance documentation for various deployment scenarios. We will also offer a managed, hosted solution with a clear and transparent pricing model for people who want to use Aural Isle but are not interested in hosting it themselves. The managed solution will not have any material difference from the self-hosted version and will not include any additional functionality not provided by the self-hosted version.
Contributing
We welcome contributors from all walks of life and at all experience levels, so long as they are willing to work with all of our contributors in an environment where respect and acceptance are the baseline. More detailed contributor guidelines will be forthcoming as soon as our intial Code of Conduct and Contributor Guidelines have been authored and published.
License
This project is licensed under the GNU Affero General Public Licence (AGPL) version 3 or later at your discretion. See https://www.gnu.org/licenses/agpl-3.0.en.html or the LICENSE file in the code repository for full details.
Contact
This project is hosted by https://mountaintown.technology and is currently being maintained by:
- Sundog, who can be reached in the fediverse at @djsundog@toot-lab.reclaim.technology and via email at sundog@reclaim.technology
- Andrew, who can be reached in the fediverse at @ajroach42@retro.social and via email at me@andrewroach.net