Skip to content

jakeekaj/sinatra-project-assessment-learn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sinatra Content Management System App

Overview

For this assessment you'll be creating any sort of CRUD app. The app should be a custom app that is created to track something important to you. Whether that's your golf club collection, or your blog posts is up to you. These types of apps are generally referred to as CRUD or Content Management Systems.

Requirements

  1. Build an MVC Sinatra Application.
  2. Use ActiveRecord with Sinatra.
  3. Use Multiple Models.
  4. Use at least one has_many relationship
  5. Must have user accounts. The user that created the content should be the only person who can modify that content
  6. Models must have validations to ensure that bad data isn't created
  7. Any validation failures must be shown to user with an error message

Example Domains

  • Golf Club Organizer
  • Blog App. Posts can have multiple tags or categories
  • Todo List. Each task is part of a list
  • Collection of useful Ruby resources

If you are unsure about a domain or can't come up with an idea, feel free to reach out to support@learn.co for some advice.

Instructions

  1. Create a new repository on GitHub for your Sinatra Application.
  2. Build your application. Make sure to commit early and commit often.
  3. 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.
  4. Prepare a video demo (narration helps!) describing how a user would interact with your working application.
  5. Write a blog post about the project and process.
  6. 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.

If you're a Learn-Verified Premium student:

We'll send an email to you soon to schedule a pairing process. If you don't hear from us in 48 hours after submission, get in touch!

Be Prepared to:

  1. Explain your code from execution point to exit point. We're making sure you wrote it and understand how it works, nothing else. 5-10 minutes
  2. Write tests together. You'll be responsible for making tests pass, not writing test code. However, you'll be expected to provide expected return data of methods. You'll need to know how your code should work, not rspec or testing. 20-30 minutes
  3. Refactor code. 20-30 minutes
  4. Extend the application with a new feature, more data, a different domain etc. 20-30 minutes
  5. Submit an improved version.
  6. Write a README.md.

What to expect from the pairing session

  • Use the best vocabulary you can. Technical terms allow for you to be more precise which makes conversations about code much easier.
  • If you make a mistake, correct yourself! We all make mistakes, I promise.
  • Trust yourself
  • Trust us
  • Think on your feet. Feel free to look things up while you're pairing with us. You'll be asked to expand on concepts you implemented and you will be pushed to the edge of your knowledge.
  • Explain the details. We're curious!
  • You're going to learn a ton. We will give pointers and show you ways to improve your code. This isn't telling you that your code is wrong, it's simply us teaching. Whatever you don't quite understand will be explained

What won't happen:

  • You won't be told you're ever wrong
  • You won't be yelled at, belittled, or scolded
  • You won't be put on the spot without support
  • There's nothing you can do to instantly fail or blow it.

View this lesson on Learn.co

About

A Sinatra CRUD App that's a simplified IMDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published