• Skip to primary navigation
  • Skip to main content
  • Skip to footer
Code The Dream School
Code the Dream Labs Logo

Code The Dream School

Main hub for class materials for Code the Dream’s classes

  • Code the Dream Home

Search Code The Dream School

Rails Spring 2020 Final Project

Developing Your Own Rails Application

For the final project, you will each design and develop your own Rails application.  You will have three weeks to complete the project.  As that is a short time for a fully functional application, the applications will have to be relatively simple, with only a few features implemented.

For students who would like to become interns with Code the Dream, the final project is very important, because it is the best indication of how well you would succeed as an intern.

Goal of the Application

Code the Dream primarily develops applications that help organizations deliver services to the community, or contribute toward social good in other ways. You can see descriptions of some of the applications now in production here: https://www.codethedream.org/portfolio/.  

For your final project, ideas for applications that could contribute in this way are strongly encouraged.  The COVID-19 virus creates some new needs that may inspire you. 

However, don’t let this limit you. Other types of applications will also be considered.

Please don’t think you have to match any of the applications in the Code The Dream portfolio. Those applications are many person months of hard work. You just have to demonstrate some key skills.

Coming Soon: Some example applications from former students who became interns. We will post github links so that you can see what others did.

Before You Start

Please discuss your proposal with us.  You can send a paragraph to Ramiro and me on Slack saying what you would like to do.  We will evaluate the proposal to make sure:

  • That it is doable in the allotted time.  If the project seems too complicated, we may suggest that it be limited to just a few features.
  • That it demonstrates the skills you have learned in the class series so far.  It should not be so simple that it doesn’t show key skills.  
  • That it gives you an opportunity to demonstrate creativity, which is important for a developer.

You may find that you want to use some concepts, technologies, or gems we didn’t cover, which is worth some extra points so long as it doesn’t get too hard.

Requirements for the Project (Rubric)

  1. A Rails Application
  2. Using ActiveRecord and a database
  3. With at least two object models and a one to many or many to many association between them
  4. With views and controllers so that users of the application can perform all CRUD (create, read, update, delete) operations on records
  5. Using a variety of data types: integer, string, boolean, and perhaps others
  6. With validations in each model to minimize the creation of invalid records
  7. Views should include forms for the CRUD operations, and those for new and edit operations should include a variety of controls
  8. Form controls should include several types of input fields.  You might use text fields, drop-down lists, checkboxes, radio buttons, and/or others, and there should be some links to connect the application together. 
  9. Use of Bootstrap controls such as navbars is encouraged.
  10. If what the user enters is not valid or some other failure occurs, there should be error handling and appropriate messages should be shown.
  11. The application should be styled to be attractive, with inclusion of images, color, fonts, and other css styling.
  12. Application code is to be stored in a public repository in github.  Use of multiple branches is recommended, as you implement each feature.
  13. You should have Rspec tests for at least some of the CRUD operations and for  the models.

Presentation

Each student will present their application in a Zoom meeting to occur on Friday, June 5.  You will only have 3 minutes for each presentation, but we will have reviewed your application with you ahead of time.

Footer

Copyright © 2025 Code the Dream School | All Rights Reserved | Privacy Policy