The Rails project is a great chance for you to show off everything you’ve learned about Ruby on Rails, MVC architecture, data modeling and so much more!
Use this document to help you complete this planning form
Tips on all aspects of the project are included here, so make sure to have a look through!
Note: Keep in mind that the Ask a Question team is not permitted to help while you are building your projects. Use the internet and the resources provided in this document if you get stuck!
Read through the project requirements here carefully before getting started.
Come up with a project idea of your own, and devote some time to a planning session. Think about the following:
a. What will your app do? b. What is the user experience? c. What will your models be? d. What are their associations? e. What are all the possible views for your app?
Use this form to jot down your plans and submit it to us so we can see what you are planning! Check out the sections below on User Story and Flow Diagrams for help in filling out the form.
Create a skeleton app and repository on Github. For more insight on how to plan out and get your project idea off the ground, you can watch this live build.
Plan your schedule. Note that it takes most full time (40+ hrs/week) students between 7-12 days to complete, and can take up to 5 business days to schedule your project review after that.
You should already be a member of the Slack channel #rails-section; It is a great place to connect with others who are working on their projects as well. Don’t hesitate to reach out to others in that channel. Flatiron School employees as well as students are active there.
Atlassian has an amazing write up on Agile Development and more specifically, how to create user stories. Do see this article to learn their approach. The typical approach is something along the lines of:
In other words
<type of user>
Homepage on AppConcepts.com:
User signup → appconcepts.com/users/new:
Create concept → appconcepts.com/concepts/new
Section index → appconcepts.com/sections/rails/concepts
There are no set minimum or maximum for user stories. Try to create a user story that will describe a feature on your application.
Figuring out what models are necessary, and how they are associated to one another could very well be the hardest part of your portfolio project -- Which is why planning is paramount! Let’s consider the app we have in mind for Daniel. What are some models, model attributes and model relationships that would be necessary for this app?
password : string
section_id : integer
description : string
There are a few other models to take into consideration, but this is a great starting point! (In this small example, we have already set up a many to many relationship between users and sections -- one of the requirements for your rails project!)
Let’s consider the information above, and display it visually by diagramming your schema. We recommend using draw.io to put together a database diagram. It doesn’t need to be over-complicated - just a visual idea of your databases’ tables and their attributes and their relations. Check out this video for some starter information on how to use draw.io.
Here is an example of a diagrammed schema:
You don’t have to use software for this - a photo of a (legible) hand-drawn sketch on a napkin also works! The symbols used in the examples above follow basic database diagramming conventions. Please make sure the image or file you share with us is accessible.
This gif shows how to make a shareable link on draw.io:
Once we’ve figured out what our models will look like, and how they will relate to one another, it’s time to think about the flow of your app, as your user will experience it. There are many ways to go about wireframing -- For this project, low-fidelity to mid-fidelity wireframing will work quite well.
After you’ve given that a go, check out this video on mid-fidelity wireframing! Mid-fidelity wireframes should be done on an app (like Figma) and will look similar to this: