Giter Club home page Giter Club logo

shine's Introduction

April, 2019 Update

I've been using Shine (and so have quite a few other Mac developers) to succesfully run my software business for the last ten years or so. Unfortunately, due to my own unique business requirements, I forked Shine privately for my company a long time ago. It's gained tons of new features and improvements, but most of them are tied to my own needs and haven't made their way back into the open source version. So, I'm archiving this repo.

I'm still more than happy to answer questions about the project and provide help and guidance for anyone using it or if you just have general questions about setting up a Mac software business outside the Mac App Store. Feel free to contact me.

About Shine

Shine is a web-based dashboard for indie Mac developers. It's designed to manage payment and order processing with PayPal and generate and email license files to your users using the Aquatic Prime framework. It even uploads each revision of your app into Amazon S3 and can produce reports from your users' demographic info (gathered via Sparkle). It also serves as a central location to collect user feedback, bug reports, and support questions using the OpenFeedback framework.

This specific GitHub project is a complete rewrite of the previous version that was hosted on Google Code. Normally, I'm not an advocate of rewriting something that works, but in this case I felt it was needed. The original release (two years ago) was written in a very short period of time in a rush to release my first OS X application. This version uses an upgraded version of its PHP framework and is designed with future plans in mind.

Here's the original blog post about the project if you're looking for a longer description.

Basic Usage

  1. Unzip the installation folder into a non obvious directory on your web root directory.
  2. Create a database, and import the mysql.sql file from the Shine folder.
  3. Create a user in the 'users' table.
  4. Rename /includes/class.config.sample.php to /includes/class.config.php and modify to suit your server settings.
  5. Done, visit the webpage and login.

License

This code is released under the MIT Open Source License. Feel free to do whatever you want with it.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

shine's People

Contributors

holtwick avatar rudyrichter avatar tylerhall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shine's Issues

Missing table

Missing shine_tickets table from the mysql.sql file.

Thanks.

download.php has hard coded app_id

I've provided a patch that lets you pass in ?id=x so that you can use this for many apps from your marketing website.

How do I get the patch to you? I'm new to github.

Several comments/Some Issues

First of all, many thanks for releasing Shine: This is a pretty good dashboard for Mac developers, very fast and light !!

Several questions:

  • Do you plan to release documentation ? I admit that Shine is quite simple to setup, but, for example, I have some troubles finding the correct URLs I have to setup in my Paypal account to make purchase feedback working. Same thing for the "sparkle URL" : How to determine it for an application ?
    Maybe these two things does not require extensive documentation, and displaying these URL into the Shine interface would be sufficient.
  • In some php files (return.php for example), your support e-mail address is hardcoded. Maybe you should consider modifying it in order to not get e-mail from Shine systems you do not own ;)

Database configuration?

So I've managed to get this up and running to the point where I get a login prompt, but:

  1. there is no information about what the default user/pass is, which is probably because...
  2. I can't find any database schema or creation script anywhere

Am I missing something?

Tweet table missing

mysql.sql needs an update since Shine is complaining about missing table named 'tweets'.

Malformed key for S3 uploads

I've set my S3 bucket name to "dl.myserver.com" and the S3 path to "http://dl.myserver.com/myapp". When I create a new release, the file is uploaded to S3 with the key "/myapp/myapp_ver.zip". It should be "myapp/myapp_ver.zip" (no leading slash).

As the code stands is now, this:

http://dl.myserver.com/myapp/myapp_ver.zip

returns access denied. While this (note the double slash):

http://dl.myserver.com//myapp/myapp_ver.zip

works. The leading slash is coming back from parse_url() at version-new.php(29). I worked around it with this, though I'm a rather a hack at PHP:

if ($info['path']) {
   $info['path'] = substr($info['path'], 1);
}

drop tables

I'd like to have 'drop table if exists' in mysql.sql by default, so if I'm testing and extending Shine I can easily slam the database. Obviously, most people should remove this file from their production systems anyway.

Again, how do I upload? :)

user permissions

Hi,

Not sure if this is a bug, thought I'd post it here.

While setting up a user I forgot to set level="admin".

due to

$Auth->requireAdmin('login.php');

It went on an infinite loop.

I guess we could break it, show an error message?

Thanks,
Suhas

Why not download from S3?

More curious than anything: why does download.php redirect to a local URL, rather than grabbing the file from S3? Seems like putting this feature into Shine would save an extra server configuration step and open up the possibility for authenticated downloads. I'm thinking of looking into this myself, and was curious if there was some reason you chose not to take this route. Thanks, and thanks for Shine!

markdown.inc.php missing

in the latest commit markdown.inc.php is missing from /includes. commenting out the line does not appear to impact functionality.

Mail.php files missing

functions.inc.php's first two includes are files that are not included in the source.

version-edit doesn't have pirates link

If you go to application->versions->specific version... this page doesn't have a pirates tab in the links. It also doesn't have a save button. If you can't change it, this shouldn't be a form. Just my two cents :)

Error in reading the variable from class.config.php

i think that the file class.database.php cannot read the variables set in class.config.php , in my case.
I set in the class.config.php for production

        $this->dbHost       = 'mysql17.000webhost.com';
        $this->dbName       = 'a5653879_shine';
        $this->dbUsername   = 'a5653879_jarvis1';
        $this->dbPassword   = 'password';
        $this->dbDieOnError = false;

but i receive an error " Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'a5653879'@'localhost' (using password: NO) in /home/a5653879/public_html/Shine/includes/class.database.php on line 67"

then i changed in class.database.php this and it worked.

        $this->host       = 'mysql17.000webhost.com';
        $this->name       = 'a5653879_shine';
        $this->username   = 'a5653879_jarvis1';
        $this->password   = 'password';

Please tell me if i did something wrong.
Thanks.

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.