First Rails Project for SE Immersive Students, 2020
For this project you will be working in pairs to build your very first Rails project. No tests will be involved so you will be able to be creative with your ideas so long as you meet the requirements below. Get your ideas approved by an instructor before you start coding.
Create a repo to be shared with your partner(s). Have your partner(s) fork and clone your repo to submit code in order to finish this project. You'll be asked to submit the link to your completed project to your 1:1 coach.
Make sure that you are using SQLite for this project, and that your schema reflects the tables needed to execute on deliverables.
Your project must have at least three models that are all associated. You must have a has_many
- belongs_to
relationship, and a has_many
, through
relationship.
Here are some examples you can choose from:
- An Artist has many Songs, and a Song belongs to an Artist. An Artist has many Genres, through Songs.
- An Owner has many Pets, and a Pet belongs to an Owner. An Owner has many Species, through Pets.
- A Painter has many Paintings, and a Painting belongs to a Painter. A Painter has many Museums, through Paintings.
- A Vendor has many Products, and a Product belongs to a Vendor. A Vendor has many Stores, through Products.
- A Writer has many Articles, and an Article belongs to a Writer. A Writer has many Publications, through Articles.
Your application should follow RESTful conventions, in that, your models should be able to be Created, Updated, Read, and Deleted. New objects should be posted to the create actions, and updating objects should be put to the update action, etc.
Your project must include forms that follow the user experience and use collection_select
. Your forms can include a nested form for your has_many
, belongs_to
relationship.
For example: If I am creating a Song in a form, I should be able to select from a list of Genres that exist already, or create a new one at the same time.
-
SQLite
-
Three models
-
Has Many - Belongs To relationship
-
Has Many, Through relationship
-
CRUD actions for your models
-
Form with
collection_select
BONUS: Nested form for your Has_many, belongs to relationship, adding validations where appropriate for models.
Your mission is to complete as many of the requirements as possible before 1:1 time, ~ 4pm today. Submit your (public) repo link to your coach during 1:1 and come with answers to the following questions:
- What challenges did you face in building this app?
- What successes did you have when building this app?
- What are (3) things you've identified through work on this app as concepts to strengthen?
- What are (3) concepts you understand really well, as evidenced when working on this app?