레일스 스포티파이 프로젝트

2262 단어 railsrubyspotify

소개



이 프로젝트를 위해 저는 과정의 절반에 들어가는 것을 도전적인 것으로 만들기로 결정했습니다. 이 프로젝트에서는 Spotify 복제본을 만들고 싶었습니다.

시작하려면 새 rails 프로젝트를 시작하는 것으로 시작합니다.
rails new < project_name >
이 프로젝트의 경우 로그인을 하고 훨씬 빠른 붙여넣기로 등록하기 위해 devise를 사용하기로 결정했습니다.

gem 'devise'

를 만들었습니다.
root 'welcome/home'
사용자를 안내하기를 원하는 기본 홈페이지에 레일을 로드할 때 모든 사용자를 홈페이지로 보내기 위해. 시간을 절약할 수 있도록 등록 양식을 생성하기 때문에 간단합니다. 내가 해야 할 일은 내가 있는지 확인하는 것뿐이었습니다.

link_to
사용자를 특정 로그인/가입 양식으로 리디렉션할 수 있는 올바른 위치입니다.

Devise는 다음과 같은 멋진 단점을 사용할 수 있게 해주는 놀라운 보석입니다.
authenthicate_user!
내 프로젝트가 적절한 인증 없이 특정 경로에 있는 사람을 허용하지 않도록 합니다.

루트 홈과 가입 및 로그인이 작동한 후 이 프로젝트를 어떻게 하고 싶은지 생각하기 시작했습니다. 시작하려면 내가 하고 싶은 것에 대한 아이디어를 얻기 위해 Spotify가 무엇을 했는지에 대한 아이디어를 얻어야 했습니다. 몇 시간 후에 나는 이것에 대해 간단하지만 좋은 방법을 생각했습니다. API에 대한 특정 호출을 수행하는 방법을 파악하는 것으로 시작했습니다. Spotify의 문서를 검색하면서 확실히 사용자 친화적이지 않다는 것을 알았고 더 많이 파고 들어 이 보석을 만났습니다.
gem 'rspotify'
데이터베이스를 호출하기 위해 제공한 예제를 사용하여 메서드를 만들 수 있었습니다.
Sessions Secret And App ID
작업을 마친 후 컨트롤러를 처리했습니다.
albums, artists, comments, omniauth, playlists, tracks, and welcome controllers
이를 통해 필요한 작업을 수행할 수 있도록 API 호출을 시작할 수 있었습니다. 더 구체적으로 말하면, 가입한 사용자는 아티스트를 검색하고 해당 아티스트를 검색한 다음 재생 목록 컬렉션에 추가할 수 있습니다.

  def search
  end

  def index
    if !params[:artist_name].empty?
      @artists = RSpotify::Artist.search(params[:artist_name])
    else
      redirect_to root_path
    end
  end

  def show

    @artist = RSpotify::Artist.find(params[:id])
    respond_to do |f|
      f.html {render :show}
      f.json {render json: @artist.albums}
    end
  end


그런 다음 사용자는 트랙을 듣고 원하는 경우 댓글을 남기고 재생 목록에서 삭제할 수 있습니다. 로그인하지 않은 사용자는 트랙을 검색하고 홈 트랙의 주요 항목을 볼 수 있지만 재생 목록을 만들고 Spotify를 듣고 댓글을 남길 수는 없습니다.

도전



이 프로젝트에 직면한 가장 큰 문제 중 일부는 확실히 사용자 친화적이지 않은 Spotify API였습니다. 이것을 알아내는 데 읽고 검색하는 데 약 2일이 걸렸지만 인터넷 검색 기술이 많이 향상되었음을 보장할 수 있습니다. 거의 도움 없이 혼자 진행한 프로젝트였기 때문에 자신감이 생겼습니다! 이 프로젝트를 시작할 때 나 자신에게 조언을 하자면 긴장을 풀고 더 많은 것을 사용하는 것이 좋습니다.
binding.pry
또한 필요하면 시간을 내십시오.

좋은 웹페이지 즐겨찾기