Project One: Alpha App
Due Sunday, March 31, by 11:59pm CTProject Description
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.
Project Goals
- 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.rb
as 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 Sunday,
March 31, 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
Grading Note
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.
Requirements
- 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,
e.g.,
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
dev
branch in Git; merge only the best functional, test-passing work over to themaster
branch. - 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-width
media queries, and SCSS