Project One: Alpha App Due Wednesday, June 14, 11:59pm CT
Project 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 should have 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. However, note that for the remaining projects in the class, teams of two to three students will develop one of the team members’ app further.
Project Goals
- Learn to conceive and sketch the most basic features for a web application
- Learn to setup 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
- Identify and understand the basic syntax, semantics, and style of the Ruby programming language
- Gain a foundational understanding of object-oriented programming as achieved through Ruby
Deliverables & Milestones
- A functional Rails app that can be racked up and run locally
- The GitHub repository for your app. Email the link to the instructor, but also post to Basecamp
- An email to the instructor containing the project’s two deliverables:
- 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
- Comments on at least two other student alpha app projects during the week of June 19 (or earlier if at all possible)
Requirements
- Use Ruby 2.4.x and Rails 5.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. - Git requirements:
- A Git repository with frequent commits and meaningful commit messages that accurately reflect each set of changes that you make. Get in the habit of including in your commit messages the commands you’ve run.
- Use of the command-line Git program on your computer; no commits made through the GitHub web interface (this isn’t kindergarten)
- GitHub repository must contain only the files and commits from this project