Code Monkey home page Code Monkey logo

mspace's Introduction

Music Space

How it works

Find a QR Code in public space, scan it, listen to the music, download it.

Why

The internet is a shit place to put your hobby art out. You compete with everyone on the planet, people will be mean to you, expectations are usually too high. You are not a big record-label, you put yourself into your music and you love some people experience it, maybe like it and download it.

At least that is my position and I was searching for a solution for years.

Planning

Phase 1

There is a page per song, that shows:

  • A cover
  • A view counter
  • A play-button, with a click counter
  • Downloads (aac, opus, mp3, alac, flac), with a download counter
  • A like-button, with a counter

The counters should give people a sense, that they are not alone in the space. I'd want to add some more ways to give people a sense of commonality without using comments 1.

The QR Code "sticker" needs to have a design that allows people to recognize them as Music Space instantly.

Phase 2

Show a map where other songs can be found in public space. Yes one QR Code gives you access to one track only. To access more songs you need to play geo-caching.

  • A feature to report missing QR Codes.

Maybe more.

Phase 3

Give people a sense of commonality.

Brainstoming:

  • Post images
    • Problem: abuse/spam
  • Share lococation: I am currently standing beside that QR Code
    • Problem will happen too seldom
  • Share location at a central metting point
    • There is one location for the whole Music Space
    • People can post that they are there

Currently I don't think I've found the right idea yet.

Features

Phase 1

  • Uses caddy, quat and hypercorn
  • The database is just a set of toml files
    • aiofiles
    • Lock the file (actually the path in lock-table)
  • https://[site]/[ID] displays the track
  • ID looks like this wczj-tmqg
  • https://[site]/static gives access to images/downloads/streams
  • CSS
    • Place track cover full-site blured in the background
    • Track cover, containing a play button
    • View count is top-right
    • Play count below the track cover
    • Download section below that
  • Also add Dockerfiles, but docker-compose is delegated to the user

_

TODO

Lets start with Phase 1:

  • Host the site somewhere
  • Create poetry project
  • Add basic dependnecies
  • Design toml-file
  • Read toml
  • Display track (no CSS yet)
  • Create config.toml??
  • Create a demo track
  • Create a CSS
  • Adjust blur-background color/brightness via toml??
  • Early deploy
    • Dockerfile
    • Update features/TODO according to problems encountered
      • View only route (no count updates)
      • Some basic error handling
      • Display soundcloud comments only if needed
      • Configure access.log to file for statistics??
      • Translate downloads into cover
      • Move control down with 75vmin
      • Remove unneeded z-indexs
      • Stream doesn't need absolute anymore right?
      • Favicon
      • Touch icon
      • Messenger preview
      • Access log
      • Docker access log anaylizer
      • Docker-compose map database to outside
      • resonate.is
      • Stream aac 2
  • QR Code
    • Design sticker
    • Write script to generate sticker
    • Print it, test it, deploy it

Footnotes

  1. I feel comments are one of the big evils on the internet.

  2. ffmpeg -i aaaa-aaaa-aaaa-download.flac -movflags +faststart aaaa-aaaa-aaaa-stream.m4a

mspace's People

Contributors

stream-punk avatar

Watchers

 avatar

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.