{"id":15151641,"url":"https://github.com/turingschool-examples/set_list_tutorial","last_synced_at":"2025-09-29T21:31:10.576Z","repository":{"id":48871412,"uuid":"364649518","full_name":"turingschool-examples/set_list_tutorial","owner":"turingschool-examples","description":null,"archived":true,"fork":false,"pushed_at":"2023-04-14T14:22:07.000Z","size":274,"stargazers_count":2,"open_issues_count":0,"forks_count":86,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-09-27T15:20:12.600Z","etag":null,"topics":["be-2","homework","practice-project","rails5"],"latest_commit_sha":null,"homepage":"","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/turingschool-examples.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-05T17:02:59.000Z","updated_at":"2023-05-23T12:27:09.000Z","dependencies_parsed_at":"2024-09-21T23:00:43.358Z","dependency_job_id":null,"html_url":"https://github.com/turingschool-examples/set_list_tutorial","commit_stats":{"total_commits":51,"total_committers":6,"mean_commits":8.5,"dds":0.4117647058823529,"last_synced_commit":"ea9ddbd9e4e605eeedfe67c24cf1ac2ba3f82f55"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turingschool-examples%2Fset_list_tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turingschool-examples%2Fset_list_tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turingschool-examples%2Fset_list_tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turingschool-examples%2Fset_list_tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/turingschool-examples","download_url":"https://codeload.github.com/turingschool-examples/set_list_tutorial/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234665606,"owners_count":18868565,"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","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":["be-2","homework","practice-project","rails5"],"created_at":"2024-09-26T15:20:18.037Z","updated_at":"2025-09-29T21:31:10.267Z","avatar_url":"https://github.com/turingschool-examples.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Set List Tutorial\n\n\nThis repository serves as an in-class project for Turing's Mod 2 BE program. Through working on this tutorial, students will gain an understanding of and practice the following topics (among others): \n* Model testing\n* Migrations\n* Feature testing\n* MVC\n* ActiveRecord \u0026 SQL\n* Forms\n\n## Setup\n\nClone (__don't fork__) this repo to your local. Then, run the following commands in Terminal: \n```\nbundle install\nrails db:{drop,create,migrate,seed}\n```\n\nYou should then be able to access the databases called `set_list_development` and `set_list_test`. \n\n## How to Use\nThis application starts with schema and corresponding tests for `Artists` and `Songs`. Throughout classes in mod 2, students will be asked to work on adding various features to this application. It is recommended that students use the `main` branch of this repo, and add to it on their own machines. There is no need to submit any pull requests to the original repo, as this is a practice application. \n\nStudents can also check out the branches in this repo to visit the code and add their work there at different points in time. The following table lists the classes in mod 2, the branch for where the class starts, and the branch with the completed code from the class.\n\n### Warning\nNote: ___we don't recommend **forking** this repo___, as there are many branches that you'll lose access to if you fork. Since this is a tutorial, you can reference the many branches in this repo for the class you're currently working on. Forking will not bring these branches with your forked copy. \n\nAlso, this tutorial is most useful going class-by-class, not necessarily done in addition to any intermission work. If you have context/prior knowledge for the topics explored in this repository, you can use it to practice those topics. Generally, we advise students to wait until the topic comes up in a project or class to explore the branches of this repo.\n\nTo switch branches, in Terminal:\n```\ngit checkout {name_of_branch}\n```\n\nTo see all branches available on the remote, in Terminal:\n```\ngit branch -a\n```\n\n\n## Branch Directory\n\n| Class | Starting Branch | Completed Branch |\n|-------|------|------|\n|[Songs Index](https://www.youtube.com/watch?v=At4fD_zkHJU) | none | [songs_index](https://github.com/turingschool-examples/set_list_tutorial/tree/songs_index)|\n| [Songs Show](https://www.youtube.com/watch?v=oZGZEJWt8qQ) | [songs_index](https://github.com/turingschool-examples/set_list_tutorial/tree/songs_index) | [songs_show](https://github.com/turingschool-examples/set_list_tutorial/tree/songs_show)|\n| [ActiveRecord Associations](https://www.youtube.com/watch?v=oOFUnTPC_jU) (homework video) | [songs_show](https://github.com/turingschool-examples/set_list_tutorial/tree/songs_show) | [artist_songs_index](https://github.com/turingschool-examples/set_list_tutorial/tree/artist_songs_index) |\n| [Feature Testing](https://backend.turing.edu/module2/lessons/feature_testing_2) | [feature_testing_practice](https://github.com/turingschool-examples/set_list_tutorial/tree/feature_testing_practice)  | [feature_testing_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/feature_testing_solutions)\n| [ActiveRecord Associations](https://backend.turing.edu/module2/lessons/active_record_associations_tdd) (live class) | [associations_practice](https://github.com/turingschool-examples/set_list_tutorial/tree/associations_practice) | [associations_practice_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/associations_practice_solutions) |\n| [SQL and ActiveRecord](https://backend.turing.edu/module2/lessons/sql_and_active_record) | [associations_practice](https://github.com/turingschool-examples/set_list_tutorial/tree/associations_practice) |\n| [Forms](https://www.youtube.com/watch?v=VNHriUP7zKE\u0026list=PL1Y67f0xPzdMpqo5GG-P8oVd-OvkNMSAN\u0026index=5) (homework video) | [artist_songs_index](https://github.com/turingschool-examples/set_list_tutorial/tree/artist_songs_index) | [artist_new](https://github.com/turingschool-examples/set_list_tutorial/tree/artist_new) |\n| [Class vs Instance Methods](https://backend.turing.edu/module2/lessons/class_vs_instance_methods) | [class_instance_methods_setup](https://github.com/turingschool-examples/set_list_tutorial/tree/class_instance_methods_setup) | [class_instance_methods_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/class_instance_methods_solutions)\n| [Many to Many](https://backend.turing.edu/module2/lessons/many_to_many) | [many_to_many_practice](https://github.com/turingschool-examples/set_list_tutorial/tree/many_to_many_practice) | [many_to_many](https://github.com/turingschool-examples/set_list_tutorial/tree/many_to_many)\n| Joins (homework before class) | [joins_homework](https://github.com/turingschool-examples/set_list_tutorial/tree/joins_homework) |  [joins_homework_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/joins_homework_solutions)\n| [Joins](https://backend.turing.edu/module2/lessons/joins) (class) | [many_to_many](https://github.com/turingschool-examples/set_list_tutorial/tree/many_to_many) \n| [Data Validations](https://backend.turing.edu/module2/lessons/data_validation) | [validations](https://github.com/turingschool-examples/set_list_tutorial/tree/validations) |\n| [Sad Path Testing \u0026 Flash Messages](https://backend.turing.edu/module2/lessons/sad_path_and_flash) | [sad_path_setup](https://github.com/turingschool-examples/set_list_tutorial/tree/sad_path_setup) | [sad_path_complete](https://github.com/turingschool-examples/set_list_tutorial/tree/sad_path_complete)\n| [Partials](https://backend.turing.edu/module2/lessons/partials) | [partials](https://github.com/turingschool-examples/set_list_tutorial/tree/partials) | [partials_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/partials_solutions)\n| [Advanced Routing](https://backend.turing.edu/module2/lessons/rails_resources) | [advanced_routing](https://github.com/turingschool-examples/set_list_tutorial/tree/advanced_routing) | [advanced_routing_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/advanced_routing_solutions) |\n| [Grouping \u0026 Aggregating](https://backend.turing.edu/module2/lessons/grouping_and_aggregating) | `advanced_routing` (no completed branch) |\n| [Binding Models to Forms](https://backend.turing.edu/module2/lessons/form_with) | [advanced_routing](https://github.com/turingschool-examples/set_list_tutorial/tree/advanced_routing) | [binding_models_solutions](https://github.com/turingschool-examples/set_list_tutorial/tree/binding_models_solutions)\n\n_Note: This table is always being updated. Please submit a pull request if something needs changed!_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturingschool-examples%2Fset_list_tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturingschool-examples%2Fset_list_tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturingschool-examples%2Fset_list_tutorial/lists"}