Git Product home page Git Product logo

README

Alamo Records

Alamo Records is a online store that sells vintage vinyl records. It is built on the Ruby on Rails web framework and consists of the following models:

  1. Publisher - a publisher sells albums.
  2. Album - albums are sold by publishers and include many songs.
  3. Song - a song is recorded onto one album. It is written by one artist.
  4. Artist - an artist writes songs.

The relationships between models are represented in the following diagram:

Alamo Records model diagram

Candidate Instructions

Fork the repository, prepare the application and complete each of the tasks listed below. Tasks include styling changes, adding functionality, fixing bugs and writing tests. Each task should be committed separately into Git with a commit message that includes the task number and a short summary of the task.

Do not add any additional gems to the application.

Complete as many tasks as you can in four hours and then submit a pull request through Github.

Tasks

  1. On the publishers index page, change the color of the table header row to #F0F8FF.
  2. On the navigation bar, add a link to the newest album.
  3. The albums index page is executing multiple queries. Fix this.
  4. In the album model, create a scope called recent that takes an argument n (the number of albums) and returns only the last n albums released during the past 4 months.
  5. On the new/edit album pages, replace the publisher text field with a dropdown that displays each publisher's name.
  6. Add code to ensure that when an album is saved, a publisher is required.
  7. On the songs index page, add a delete button for each song that, when pressed, deletes the song via ajax and removes the row from the page.
  8. In the footer, under the LATEST section, display the 4 most recent albums released.
  9. Use a caching technique to prevent this query from executing every request.
  10. On the artist show page, duplicate albums are being displayed in some cases. Fix this.
  11. Run the tests and fix all that fail.
  12. Write tests for the delete button you added in task 7.
  13. Some users have requested an API so they can access Alamo Record data in JSON format. In as little code as possible, enable this functionality.
  14. This is your final task. Alamo Records would like to change the artist index page from a table to a grid of artist profile image links. There are no artist profile images available, however, we can use the https://randomuser.me/ service to request fake user data including profile images. Your solution should meet the following requirements:
  15. The artist index page should display a responsive grid of artist profile images. Use the bootstrap grid columns classes to accomplish this.
  16. The profile images should link to the artist show page.
  17. Initially, the profile images will not exist and a placeholder image should be shown on the artist index page.
  18. Once a user navigates to the artist show page, and if there is no profile image, an api request should be made to https://randomuser.me to request data for a user. Using the data returned, save the image url to a field on the artist model. Subsequent requests to the same artist should not generate an api call. Display the image on the artist show page.

Taha's Projects

dataloading icon dataloading

Libraries to support github.com/bloomapi/datasources

deepslide icon deepslide

Code for the Nature Scientific Reports paper "Pathologist-level classification of histologic patterns on resected lung adenocarcinoma slides with deep neural networks." A sliding window framework for classification of high resolution whole-slide images, often microscopy or histopathology images.

examples icon examples

Home for Elasticsearch examples available to everyone. It's a great way to get started.

fontforge icon fontforge

Free (libre) font editor for Windows, Mac OS X and GNU+Linux

graphicssl icon graphicssl

Псевдографическая утилита для администрирования openSSL

models icon models

Models and examples built with TensorFlow

rapidcsv icon rapidcsv

Bulk load any CSV into postgres (very fast)

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.