https://github.com/turingschool-examples/set_list_tutorial
https://github.com/turingschool-examples/set_list_tutorial
be-2 homework practice-project rails5
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/turingschool-examples/set_list_tutorial
- Owner: turingschool-examples
- Archived: true
- Created: 2021-05-05T17:02:59.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-04-14T14:22:07.000Z (about 3 years ago)
- Last Synced: 2024-09-27T15:20:12.600Z (over 1 year ago)
- Topics: be-2, homework, practice-project, rails5
- Language: Ruby
- Homepage:
- Size: 268 KB
- Stars: 2
- Watchers: 8
- Forks: 86
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Set List Tutorial
This 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):
* Model testing
* Migrations
* Feature testing
* MVC
* ActiveRecord & SQL
* Forms
## Setup
Clone (__don't fork__) this repo to your local. Then, run the following commands in Terminal:
```
bundle install
rails db:{drop,create,migrate,seed}
```
You should then be able to access the databases called `set_list_development` and `set_list_test`.
## How to Use
This 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.
Students 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.
### Warning
Note: ___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.
Also, 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.
To switch branches, in Terminal:
```
git checkout {name_of_branch}
```
To see all branches available on the remote, in Terminal:
```
git branch -a
```
## Branch Directory
| Class | Starting Branch | Completed Branch |
|-------|------|------|
|[Songs Index](https://www.youtube.com/watch?v=At4fD_zkHJU) | none | [songs_index](https://github.com/turingschool-examples/set_list_tutorial/tree/songs_index)|
| [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)|
| [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) |
| [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)
| [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) |
| [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) |
| [Forms](https://www.youtube.com/watch?v=VNHriUP7zKE&list=PL1Y67f0xPzdMpqo5GG-P8oVd-OvkNMSAN&index=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) |
| [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)
| [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)
| 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)
| [Joins](https://backend.turing.edu/module2/lessons/joins) (class) | [many_to_many](https://github.com/turingschool-examples/set_list_tutorial/tree/many_to_many)
| [Data Validations](https://backend.turing.edu/module2/lessons/data_validation) | [validations](https://github.com/turingschool-examples/set_list_tutorial/tree/validations) |
| [Sad Path Testing & 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)
| [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)
| [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) |
| [Grouping & Aggregating](https://backend.turing.edu/module2/lessons/grouping_and_aggregating) | `advanced_routing` (no completed branch) |
| [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)
_Note: This table is always being updated. Please submit a pull request if something needs changed!_