Giter VIP home page Giter VIP logo

platform's Introduction

CASH Music Self-Install Platform

The CASH Music platform gives everyone access to tools that let them manage, promote, and sell their music online โ€” all owned and controlled themselves.

The whole thing is designed to work as a freestanding API or integrated with publishing and CMS systems like Wordpress or Drupal. This repo contains the core framework, installers, an admin webapp, APIs, demos, and a full suite of tests.

Build Status

Requirements

One of our goals is for this to run in as many places as possible, so we've worked hard to keep the requirements as minimal as possible:

  • PHP 5.2.7+
  • PDO and MySQL OR SQLite
  • mod_rewrite (for admin)
  • fopen wrappers OR cURL

Installation

Coders: Just fork/clone this repo, cd into the new /platform folder, and run:

make install

choosing SQLite will get you up and running fastest. Next just point Apache or MAMP at the /platform directory and view http://localhost/ in a browser.

Non-coders: We've included a web installer specifically meant for installing over FTP to a web host. Just download it here, create a new folder for it on your web host, upload, and visit in a web browser. The installer will do the rest.

Working with the platform

For musicians, the primary workflow is just logging into the admin app, managing their world, and defining new elements for public-facing promos. Publishing is always a single line copy+paste away, no real coding needed.

The best way to currently embed an element is with a line of PHP, but we're also working on a JavaScript embed and WordPress plugin. Our PHP includes look like:

<?php 
	include('/path/to/cash/framework/php/cashmusic.php'); // Initialize CASH Music ?>
	CASHSystem::embedElement(1); // CASH element 
?>

For developers looking to build custom functionality we've built a request/response process as the primary interface to the PHP framework. It mimics a REST-style API and standardizes calls and responses across the methods...so the PHP interaction will be nearly identical to future REST or verbose interactions.

The PHP Request/Response looks like this:

<?php 
	$sample_request = new CASHRequest(
		array(
			'cash_request_type' => 'calendar', 
			'cash_action' => 'getevent',
			'id' => 43
		)
	);

	$sample_request->response:
	{
		"status_code":404, // http-style status code
		"status_uid":"calendar_getevent_404", // uid of the response (request + status)
		"status_message":"Not Found", // http-style status message
		"contextual_message":"Event not found", // more specific error message
		"request_type":"calendar", // echo of the request type
		"action":"getevent", // echo of the request action
		"payload":false, // contents of the response, or false if error
		"api_version":2, // version number
		"timestamp":1335416260 // request timestamp
	}
?>

Testing

More about our testing habits in the test suite README

Admin App

We've got a README for that dude too.

CASH Music Branches + Tags

We try to keep the 'master' branch release-ready at all times, but it is the first place new changes are merged into โ€” be aware that it will break from time to time. Contributors are asked to fork, create a branch, and submit pull requests to 'master.'

The 'latest_stable' branch will always point to the most recent public release.

Copyright & License

The CASH Music platform is (c) 2010-2012 CASH Music, licensed under the AGPL license

platform's People

Contributors

jessevondoom avatar leto avatar oknoway avatar jeffsheltren avatar maggiev23 avatar

Watchers

James Cloos 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.