An application to store your personal music library in the cloud. This application allows:
-
Batch uploading
-
Automatic cataloging by track metadata
-
Playlist creation
-
Muiltiple users
You can think of it as a BYOM (bring your own music) version of Spotify
-
Ruby 2.2
-
Rails 4.2.4
-
Postgresql
$ git clone https://github.com/gathergoose/my_stream && cd my_stream
$ bundle install
$ rake db:setup
This will create a user with the credentials email: user@my-stream.io password: password
.
To launch the application in development mode, run
$ rails server
Then visit localhost:3000 and login with the above credentials.
Currently, all new users need to be made from the rails console. The ability for an “admin” to “invite” users has yet to be built into the front-end of the application. *For example:*
$ rails console irb(main):001:0> bob = User.new(email: "bob@gmail.com", password: "b389CV20n") => #<User id: nil, username: "", admin: false, email: "bob@gmail.com", encrypted_password: "$2a$10$nWVAPj.ZuDeCmuopeupIg.DYq3WYeGMx9klhU0jQbeI...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: nil, updated_at: nil> irb(main):002:0> bob.save (0.3ms) BEGIN User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'bob@gmail.com' LIMIT 1 SQL (0.8ms) INSERT INTO "users" ("email", "encrypted_password", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["email", "bob@gmail.com"], ["encrypted_password", "$2a$10$nWVAPj.ZuDeCmuopeupIg.DYq3WYeGMx9klhU0jQbeIQTJEEqDkqi"], ["created_at", "2016-07-13 21:21:04.535939"], ["updated_at", "2016-07-13 21:21:04.535939"]] (0.9ms) COMMIT => true irb(main):003:0>
Now you can login as bob@gmail.com
using the password b389C V20n
This application is tested using Rspec. To run the test suite just:
$ bundle exec rspec