February 2016 "Complete Ruby on Rails Developer Course" Code challenge is here!
Summary: There will be code challenges in the Complete Ruby on Rails Developer course where students can compete to build the nicest web app they can (given the directions/rules/guidelines in the challenge) and submit their completed project. The winner will be picked at the end of the competition based on styling (ruby conventions), features from requirements listed, ease of use of the web app, overall fun factor. The judges will be Mashrur and a guest judge (our default guest judge being Evgeny, 10 years in the rails industry and he's tough to please so give it your best shot!). There will only be 1 winner per challenge. But 1 winner cannot win 2 challenges in a row. Sorry Nate! can't win this one but I encourage you to participate nonetheless!
What you shall receive if you win: 1 Tweet from me mentioning you and your awesome accomplishment (winning a competition against 13,000 other participants is an awesome accomplishment indeed), 1 Linkedin update from me with your name/profile and your win - if you have a Linkedin profile that is (useful for job hunters) and 1 mention in the Educational announcements with your app and Github repository name so others can look at your amazing app and learn from your code! (envious looks anyone?)
(There will be no cash compensation or prizes of monetary value)
PROJECT for February 13 - 28, 2016: (all submissions must be made by EOD February 29, post your herokuapp link as early as possible and your github repo as late as possible without going past the due date)
- Build a mini Facebook Clone! This will be THE social media app where users can sign-up, log in and log out, have a profile page that resembles facebook's profile page when you log in (including an ability to upload profile image using gravatar - easiest), but a regular image (not gravatar) as the background cover photo! (Photo App has how to for this) Users can write status updates, (put a reasonable character restriction on this), can add images to updates (video not necessary but if you can add this it'll result in bonus points, can use embedded links for youtube videos here). Can like updates (but only once per update and dislike not necessary since facebook doesn't allow that)
- There should be a users listing page, users can follow other users (Bonus points for implementing friend request/accept functionality, but follow will be ok, finance tracker has follow functionality), and a friend's list page of who they are following or are friends with
- When users sign-up they should be required to enter first name and last name. If you build your own authentication system add it as you will, but if you use devise you can follow instructions from the finance tracker app to make the update - no email authentication necessary
- There should be a Home page after logging in which displays all the latest updates from users the user is following - latest posts on top, users should have the ability to like updates (only once) from this display
- There will be points for styling and display, as close to facebook's as you can! controller restrictions and general good practices like using partials, DRY code etc.
- There should be a web app home page that displays when you go to the webpage and are not logged in, this should switch to the users homepage page after logging in
Bonus points - Implement search box for users so instead of looking at users listing page to find other users, you can search for users and add them to your list from there (hint: finance tracker app has this) using first name, last name or email
Who can qualify: If you are enrolled in the Complete Ruby on Rails Developer course and understand 50% of the requirements above, you qualify (no sign-ups necessary, just ensure you use your Udemy username in the google submission doc and I can verify that you are enrolled). Take your best shot, don't bail out if your app's not complete or doesn't have all the features or you think it's not good enough, as long as it works to some degree it's good. Think about it on a 100 scale, try to get as close to 100 as you can.
Where do you submit your project: Click in this google doc to submit your code. Add your user name, your Herokuapp URL, your Github URL and any comments. Don't add email address or any personal info here since everyone can view/edit this document. I would recommend adding in your username and herokuapp URL to this doc right away as soon as you get started, you can add your github repo at the end.
- You can collaborate with others but you must submit individual projects! if you choose to use the discussion area to find and communicate with your partner please put within parenthesis on top of the post or on the subject of the post ("This is relating to the code challenge"), and I will promptly tag that post with some random comment and not respond to the question and leave it to other students to respond
- IMPORTANT: You cannot ask me or Evgeny for help with this competition or any code related to it
- You cannot copy popular tutorials, but can definitely take a look at them for how-to's
- You cannot ask me or Evgeny for help - did I already say this? this is very important, I will generally avoid non-coursework related questions which will have the ("This is relating to the code challenge") in the body of the post, but I might answer general questions/offer advice
- You can help others if you choose - is somewhat counter-intuitive given it's a competition but I highly encourage this since it'll build your development skills
- Please don't do things that you wouldn't do if you knew others were looking at what you were doing....(example - don't delete someone else's repo name from the submission document, that's not fair play and might cause the owner of the deleted repo name to get stressed out and throw their shoe across the isle which might injure their co-worker, we don't want that)
- Don't forget to Enjoy!
Want course discounts, resource newsletters and/or free rails related updates? Sign-up for my newsletter below (this is not required to participate in the competition), be sure to check the appropriate box