For the first project, you will independently conceive, sketch, and build the alpha version of a Rails app. The app can be anything you believe to be interesting and useful. It needs only the most basic functionality and design to be viable; its purpose is largely to help you learn to work with Rails and make mistakes. Think of it as a proof of concept, both for the app itself and for your own initial skills in Rails development.
- Learn to conceive and sketch the most essential features of a web application
- Learn to set up and build a web application with Ruby on Rails
- Learn to search, navigate, and consult the Rails documentation and Rails Guides to solve your own problems—but also jump on Basecamp and ask for help when you need it
- Develop familiarity with model-view-controller architecture
Deliverables & Milestones
- A functional Rails app that can be racked up and run locally
- A GitHub repository containing only the work from this project
Three in-progress posts of your app in development: one post focused on the
models (it should include seed data in
seeds.rbas well); one focused on the routes and controllers; and one focused on the views. See course calendar for deadlines.
- Responses to at least three other students’ in-progress posts for each of the three focuses (model, routes/controllers, views). See course calendar for deadlines.
An email to the instructor containing the project’s two final deliverables (by Thursday,
March 28, 11:59pm CT):
- A 4-5 sentence self-critique memo of your project and your progress in class to this point
- The https:// link to your project’s GitHub repository
This project is worth 25 points. 15 of those points are earned from the three in-progress posts and responses to the work of three other students (2 points for your work; 1 point for each of the three responses to other students). Those points are all or nothing: you either submit your in-progress work and respond to three other students on time—or you don’t. The remaining 10 points will be determined based on the final version you submit.
- Use Ruby 2.6.x and Rails 5.2.x
- Strive for at least two database tables, associated in some way
- Develop a suite of functional and unit tests for your application
Frequent, detailed commits to your Git repository (include commands you may have run,
rails generate, in commit messages, when applicable) and frequent pushes to your GitHub remote repository; Git repository must contain only the files and commits from this project
Do development work on a
devbranch in Git; merge only the best functional, test-passing work over to the
- Create templates using HAML that leverage partials and a sensible source order
Create a mobile-first, responsive web design utilizing em- and percentage-based units,
min-widthmedia queries, and SCSS