navidrome/README.md

71 lines
2 KiB
Markdown
Raw Normal View History

2016-02-26 11:39:14 -05:00
GoSonic
2016-02-24 18:28:23 -05:00
=======
2016-02-26 10:56:57 -05:00
[![Build Status](https://travis-ci.org/deluan/gosonic.svg?branch=master)](https://travis-ci.org/deluan/gosonic)
2016-02-24 18:28:23 -05:00
### About
2016-02-26 10:56:57 -05:00
__This is still a work in progress, and has no releases available__
2016-02-25 13:51:20 -05:00
2016-02-24 18:28:23 -05:00
GoSonic is an application that implements the [Subsonic API](http://www.subsonic.org/pages/api.jsp), but instead of
having its own music library like the original [Subsonic application](http://www.subsonic.org), it interacts directly
with your iTunes library.
2016-02-24 19:23:04 -05:00
The project's main goals are:
2016-02-26 01:45:04 -05:00
2016-02-24 18:28:23 -05:00
* Full compatibility with the available [Subsonic clients](http://www.subsonic.org/pages/apps.jsp)
2016-02-26 10:56:57 -05:00
(only being tested with
2016-02-29 14:16:51 -05:00
[DSub](http://www.subsonic.org/pages/apps.jsp#dsub) and
2016-02-26 10:56:57 -05:00
[Jamstash](http://www.subsonic.org/pages/apps.jsp#jamstash))
2016-02-29 14:16:51 -05:00
* Use all metadata from iTunes, so that you can keep using iTunes to manage your music
* Keep iTunes stats (play counts, last played dates, ratings, etc..) updated, at least on Mac OS X
2016-02-26 10:56:57 -05:00
* Learning Go ;) [![Gopher](https://blog.golang.org/favicon.ico)](https://golang.org)
2016-02-24 18:28:23 -05:00
2016-02-26 01:45:04 -05:00
2016-02-29 14:16:51 -05:00
### Supported Subsonic API version:
2016-03-08 22:31:21 -05:00
[(Almost) up to date compatibility chart](https://github.com/deluan/gosonic/wiki/Compatibility)
2016-02-24 18:28:23 -05:00
2016-02-26 11:39:14 -05:00
### Development Environment
You will need to install [Go 1.6](https://golang.org/dl/)
2016-02-29 14:16:51 -05:00
2016-02-26 11:39:14 -05:00
Then install dependencies:
```
$ go get github.com/beego/bee
$ go get github.com/gpmgo/gopm
$ gopm get -v -g
```
2016-02-29 14:16:51 -05:00
From here it's a normal [BeeGo](http://beego.me) development cycle. Some useful commands:
2016-02-26 11:39:14 -05:00
2016-02-27 03:35:01 -05:00
```bash
# Start local server (with hot reload)
$ bee run
# Start test runner on the browser
$ NOLOG=1 goconvey --port 9090
2016-02-29 14:16:51 -05:00
# Run all tests
2016-02-27 03:35:01 -05:00
$ go test ./... -v
```
2016-02-26 11:39:14 -05:00
2016-02-24 18:28:23 -05:00
2016-02-26 10:56:57 -05:00
### Useful Links
2016-02-24 18:28:23 -05:00
2016-02-26 01:45:04 -05:00
#### Frameworks/Projects
2016-02-26 11:39:14 -05:00
* https://github.com/golang/go/wiki/Projects
* https://golanglibs.com/
2016-02-23 18:41:35 -05:00
2016-02-26 01:45:04 -05:00
#### REST/Web
2016-02-26 11:39:14 -05:00
* http://beego.me/
2016-02-23 18:41:35 -05:00
2016-02-24 18:28:23 -05:00
#### DB
2016-02-29 14:16:51 -05:00
* http://ledisdb.com
2016-02-23 18:41:35 -05:00
2016-02-26 01:45:04 -05:00
#### Search
2016-02-29 14:16:51 -05:00
* https://github.com/sunfmin/redisgosearch
* http://patshaughnessy.net/2011/11/29/two-ways-of-using-redis-to-build-a-nosql-autocomplete-search-index
2016-02-26 16:56:05 -05:00
#### Testing
* http://goconvey.co/