Skip to content
This repository has been archived by the owner on Oct 31, 2020. It is now read-only.

Latest commit

 

History

History
63 lines (32 loc) · 2.77 KB

Notes.md

File metadata and controls

63 lines (32 loc) · 2.77 KB

Project Requirements

  • Build an MVC Sinatra application.

  • Use ActiveRecord with Sinatra.

  • Use multiple models.

  • Use at least one has_many relationship on a User model and one belongs_to relationship on another model.

  • Must have user accounts users must be able to sign up, sign in, and sign out.

  • Validate uniqueness of user login attribute (username or email).

  • Once logged in, a user must have the ability to create, read, update and destroy the resource that belongs_to user.

  • Ensure that users can edit and delete only their own resources not resources created by other users.

  • Validate user input so bad data cannot be persisted to the database.

  • BONUS: Display validation failures to user with error messages. (This is an optional feature, challenge yourself and give it a shot!)

Instructions

  • Create a new repository on GitHub for your Sinatra application.

  • When you create the Sinatra app for your assessment, add the spec.md file from this repo to the root directory of the project, commit it to Git and push it up to GitHub.

  • Build your application. Make sure to commit early and commit often. Commit messages should be meaningful (clearly describe what you're doing in the commit) and accurate (there should be nothing in the commit that doesn't match the description in the commit message). Good rule of thumb is to commit every 3-7 mins of actual coding time. Most of your commits should have under 15 lines of code and a 2 line commit is perfectly acceptable.

  • While you're working on it, record a 30 min coding session with your favorite screen capture tool. During the session, either think out loud or not. It's up to you. You don't need to submit the video, but we may ask for it at a later time.

  • Make sure to create a good README.md with a short description, install instructions, a contributor's guide, and a link to the license for your code.

  • Make sure to check each box in your spec.md (replace the space between the square braces with an x) and explain next to each one how you've met the requirement before you submit your project.

  • Prepare a short video demo with narration describing how a user would interact with your working application.

  • Write a blog post about the project and process.

  • When done, submit your GitHub repo's URL, a link to your video demo, and a link to your blog post in the corresponding text boxes in the right rail. Hit "I'm done" to wrap it up.

My Plan

  • Start by stubbing out files and application structure.

  • Make models.

  • Add migrations.

  • Add controllers and views, but always showing the data (no control logic).

  • Test sign up, and login and logout functions.

  • Add logic for controlling access.

  • Add errors/validation on signup/login.

  • Add deletion confirmation on program form.

  • Add visuals.