Giter Club home page Giter Club logo

label_lens_be's Introduction

Label Lens Backend Application

languages PRs rspec simplecov All Contributors

Background and Description

NOTE: need to add descsription.

Label Lens provides users with a unique listening experience and solution to the paradox of choice. Reducing the noise from too many options with apps like Spotify or YouTube -- Label Lens curates playlists by selecting albums and artists signed by the same record label as the album selected for listening. Time to tune out the chatter and tune in to your next favorite album with Label Lens.

Render Website Note: need to add render URL when created

Frontend Application

Schema

need to add screenshot of schema

Learning Goals

  • Consume one external API
  • Implement Circle CI for continuous integration/testing
  • Build APIs that return JSON responses
  • Use an external OAuth provider to authenticate users
  • Refactor code for better code organization/readability
  • Create an application with mircroservices for a seamless, separate frontend view and backend database.
  • Implement a production-quality user interface using Bootstrap
  • Practice good project management by using project boards, participating in daily stand-ups and team retros
  • Utilize quality workflow practices: small commits, descriptive pull requests, and code reviews
  • Write thorough, understandable documentation

Requirements and Setup (for Mac):

Ruby and Rails

  • Ruby Version 3.2.2
  • Rails Version 7.0.7.2

Gems Utilized

  • RSpec
  • Pry
  • SimpleCov
  • Capybara
  • Shoulda-Matchers
  • Factory_Bot_Rails
  • Faker
  • Jsonapi-Serializer
  • Webmock
  • VCR
  • Rspotify
  • Letter_Opener NOTE: add gems as installed

Setup

  1. Clone this repository: On your local machine open a terminal session and enter the following commands for SSH or HTTPS to clone the repositiory.
  • using ssh key
$ git clone [email protected]:Daniel-Gallagher92/label_lens_be.git
  • using https
$ git clone https://github.com/Daniel-Gallagher92/label_lens_be

Once cloned, you'll have a new local copy in the directory you ran the clone command in.

  1. Change to the project directory:
    In terminal, use $cd to navigate to the backend Application project directory.
$ cd label_lens_be
  1. Install required Gems utilizing Bundler:
    In terminal, use Bundler to install any missing Gems. If Bundler is not installed, first run the following command.
$ gem install bundler

If Bundler is already installed or after it has been installed, run the following command.

$ bundle install

There should be be verbose text diplayed of the installation process that looks similar to below. (this is not an actual copy of what will be output).

$ bundle install
Using rake 13.0.6
Using concurrent-ruby 1.1.9
Using i18n 1.9.1
Using minitest 5.15.0
Using thread_safe 0.3.6
Using tzinfo 1.2.9
Using activesupport 5.2.6
Using builder 3.2.4
Using erubi 1.10.0
Using mini_portile2 2.7.1
Using racc 1.6.0
Using nokogiri 1.13.1
Using rails-dom-testing 2.0.3
Using crass 1.0.6
Using loofah 2.13.0
Using rails-html-sanitizer 1.4.2
Using actionview 5.2.6
Using rack 2.2.3
Using rack-test 1.1.0
Using actionpack 5.2.6
Using nio4r 2.5.8
Using websocket-extensions 0.1.5
Using websocket-driver 0.7.5
Using actioncable 5.2.6
Using globalid 1.0.0
Using activejob 5.2.6
Using mini_mime 1.1.2
Using mail 2.7.1
Using actionmailer 5.2.6
Using activemodel 5.2.6
Using arel 9.0.0
Using activerecord 5.2.6
Using marcel 1.0.2
Using activestorage 5.2.6
Using msgpack 1.4.4
Using bootsnap 1.10.3
Using bundler 2.1.4
Using byebug 11.1.3
Using coderay 1.1.3
Using diff-lcs 1.5.0
Using docile 1.4.0
Using factory_bot 6.2.0
Using method_source 1.0.0
Using thor 1.2.1
Using railties 5.2.6
Using factory_bot_rails 6.2.0
Using faker 2.19.0
Using ffi 1.15.5
Using jsonapi-serializer 2.2.0
Using rb-fsevent 0.11.1
Using rb-inotify 0.10.1
Using ruby_dep 1.5.0
Using listen 3.1.5
Using pg 1.3.1
Using pry 0.14.1
Using puma 3.12.6
Using sprockets 4.0.2
Using sprockets-rails 3.4.2
Using rails 5.2.6
Using rspec-support 3.10.3
Using rspec-core 3.10.2
Using rspec-expectations 3.10.2
Using rspec-mocks 3.10.3
Using rspec-rails 5.1.0
Using shoulda-matchers 5.1.0
Using simplecov-html 0.12.3
Using simplecov_json_formatter 0.1.3
Using simplecov 0.21.2
Using spring 2.1.1
Using spring-watcher-listen 2.0.1

If there are any errors, verify that bundler, Rails, and your ruby environment are correctly setup.

  1. Database Migration
    Before using the web application you will need to setup your databases locally by running the following command
$ rails db: {:drop,:create,:migrate,:seed}
  1. Startup and Access
    Finally, in order to use the web app you will have to start the server locally and access the app through a web browser.
  • Start server
$ rails s

NOTE: add route to navigate to once api is built

At this point you should be taken to a page with an example JSON response for a user

Endpoints provided

NOTE: add api endpoints as built e.g. GET /API/V1/USERS/1

put example here

NOTE: add screenshot here. cannot do screenshot within codeblock 

Contributors (emoji key):


Andi(she/her)

๐Ÿ’ป ๐Ÿ‘€

Chris(he/him)

๐Ÿ’ป ๐Ÿ‘€

Wil(he/him)

๐Ÿ’ป ๐Ÿ‘€

Davis(he/him)

๐Ÿ’ป ๐Ÿ‘€

Daniel(he/him)

๐Ÿ’ป ๐Ÿ‘€

This project follows the all-contributors specification.

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.