{"id":17256422,"url":"https://github.com/gregmalcolm/making-movies","last_synced_at":"2025-08-04T07:11:05.890Z","repository":{"id":18711661,"uuid":"21922384","full_name":"gregmalcolm/making-movies","owner":"gregmalcolm","description":"Exercise for building a nice frontend on top of a basic rails app","archived":false,"fork":false,"pushed_at":"2014-07-18T13:58:08.000Z","size":358,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T08:18:57.895Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gregmalcolm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-16T23:59:50.000Z","updated_at":"2019-01-11T19:35:17.000Z","dependencies_parsed_at":"2022-09-25T09:32:11.464Z","dependency_job_id":null,"html_url":"https://github.com/gregmalcolm/making-movies","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gregmalcolm/making-movies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregmalcolm%2Fmaking-movies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregmalcolm%2Fmaking-movies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregmalcolm%2Fmaking-movies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregmalcolm%2Fmaking-movies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gregmalcolm","download_url":"https://codeload.github.com/gregmalcolm/making-movies/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregmalcolm%2Fmaking-movies/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268660167,"owners_count":24286028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T07:14:25.916Z","updated_at":"2025-08-04T07:11:05.860Z","avatar_url":"https://github.com/gregmalcolm.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Making Movies\n=============\n\nObjective\n---------\n\nWe have this a very mediocre rails app for viewing and editing a movies/actors\ndatabase. The front-end completely lacks pizazz. Your mission is to revamp the\nfront-end into something a bit more modern and make more use of javascript.\n\nSuggestions\n-----------\n\nFeel free to change this app however you like. Keep in mind we want a\nmaintainable app though.\n\nSome Things that you could try include:\n\n* Better styling - Even a touch of Bootstrap would make a world of difference\n* Search functionality - Searching for movies/actors is much better than just\n  having them listed.\n* Pagination - Currently we don't have enough data to need it, but when this\n  application goes into production we're going to need it.\n* Movie APIs - Hate the data we've provided? Well you can always hook\n  up to another movie database via api. For example rottentomatoes.com has one.\n* Jquery controls - You could manage the movie selections using a\n  nice jquery autocomplete control like Select2 or Selectize. Or maybe a nice\n  date picker.\n* Implement \"Add cast members\" to movies edit page. You'll probably have to add\n  a rails controller action in MoviesController to make this work. You can append\n  actors by doing this:\n    ```@movie.actor \u003c\u003c actor```\n* Include movie images\n* If you have experience with writing single page javascript apps, making the\n  movies page or the actors page a single page app could work well. If you take\n  this path we recommend at the very last using some kind of template engine\n  (eg moustache, handlebars, etc). HTML in javascript string form is never\n  pleasant to maintain...\n\nGetting setup\n-------------\n\n* Install ruby\n\n```\nhttps://www.ruby-lang.org/en/downloads/\n```\n\n* Install bundler\n\n```\ngem install bundle\n```\n\n* Install gems using bundler\n\n```\ncd making-movies\nbundle install\n```\n\n* Generate the sqlite database\n\n```\nrake db:migrate\nrake db:setup\n```\n\n* Start a rails server\n\n```\nrails s\n```\n\n* The app is available at:\n\n```\nhttp://localhost:3000\n```\n\nCode walkthrough\n----------------\n\nJavascript libraries can easily be added by adding them to\napps/assets/javascripts. Similarly sass or css stylesheets can be added\nto apps/assets/stylesheets.\n\nAlso you can add coffeescript/javascript files to the app/assets/javascripts\nfolder for use by the application pages.\n\nAll html for movies pages is rendered in the following places:\n\napp/views/movies - For pages with /movies in the url\napp/views/actors - For page with /actors in the url\napp/views/home/index.html.erb - Start page\n\nA couple of json_builders are in place that will create some json content:\n\nhttp://localhost:3000/movies.json\nhttp://localhost:3000/movies/1.json (json for record #1 'show' action)\nhttp://localhost:3000/actors.json\nhttp://localhost:3000/actors/1.json (json for record #1 'show' action)\n\n@movies/@movie and @actors/actor objects are assembled in controller actions.\nFor example ActorController in app/controllers/actors_controller.rb uses index\nmethod to assemble data for the index url action, show for actors/1 and edit\nfor actors/1/edit. Check the routes for more details of which actions are used\nfor which action:\n\nhttp://localhost:3000/dev/routes\n\nFor more detail, check the documentation on the Rails website:\n\nhttp://guides.rubyonrails.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregmalcolm%2Fmaking-movies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgregmalcolm%2Fmaking-movies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregmalcolm%2Fmaking-movies/lists"}