Code Monkey home page Code Monkey logo

theodinproject's Introduction

The Odin Project

The Odin Project (TOP) is an open-source curriculum for learning full-stack web development. Our mission is to provide a comprehensive curriculum to learn web development for free. We help users learn the skills and build the impressive portfolio of projects they need to get hired as a web developer.

Some of the topics we cover include:

  • Ruby
  • Ruby on Rails
  • SQL
  • HTML and CSS
  • Javascript
  • Node
  • React
  • How to go about getting a job in the industry

This repo contains the TOP app which pulls in lesson content as well as front-end and back-end code. To see the actual lesson content that gets pulled in, please go to the TOP curriculum repo.

Our community can be found on the TOP Discord server.

Contributing

Build Status

The Odin Project depends on open-source contributions to improve, grow, and thrive. We welcome contributors of all experience levels and backgrounds to help maintain this awesome curriculum and community. If you would like to contribute to our curriculum, be sure to thoroughly read our contributing guide.

Feel free to also watch this scrimba walkthrough of The Odin Project web app repo, which will give you an introduction to this repository. Note that since this scrimba was recorded, the content and/or structure may have changed in this repo. The focus of this scrimba is less on the actual content, but more of a high level overview.

theodinproject's People

Contributors

01zulfi avatar 105ron avatar abbyjonesdev avatar arku avatar asartea avatar bdougie avatar chargrilledchook avatar codyloyd avatar couchoftomato avatar dependabot-preview[bot] avatar dependabot[bot] avatar dominathan avatar dovimaj avatar eriktrautman avatar fortypercenttitanium avatar gorchov avatar i3uckwheat avatar ianwhitedeveloper avatar karenfreemansmith avatar kevinmulhern avatar learnbybuilding avatar leosoaivan avatar mach1010 avatar mindovermiles262 avatar muzfuz avatar rankoliang avatar rlmoser99 avatar thatblindgeye avatar twalton83 avatar zachbaird avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

theodinproject's Issues

Trouble changing email address

Problem via email with changing email address. The error he mentions is a standard we're sorry but something went wrong. Hopefully there is enough here to try and reproduce the issue!

It sounds like this occurs when someone:

  1. Signs up using Github
  2. Changes their email on Github (may or may not be relevant)
  3. Attempts to change their email on Odin using the account page on our site.
  4. Receives a 500 error that something went wrong. Can still log in using Github though (for now).

This has not been attempted for reproduction yet, I'm just filing the issue. Original email below. Can provide redacted info if necessary and appropriate.


My question is I sign in with GitHub and I changed my address on GitHub, but the address change doesn’t appear in my TOP user info. I am going to be shutting down the old email address ([redacted]) so I am changing any online profiles with this address.

When I try updating my user info on TOP it doesn’t change. When I attempt to change I get the below error message.

It’s not a huge deal because I am able to log in with GitHub. If nothing else I thought you’d like to know about the error.

BTW - this is my second run at sharpening up my coding skills and TOP is great! Thank you! I am tracking 1,000 hours of coding education online while I am working full-time and saving up money for a bootcamp and The Odin Project is making it easy to stay on track.

Regards,
[redacted]


Improve chat link system

It has been noted by a few users that the chat button looks like an advert, coming up with a new design for it that makes it look less like a call to action button would be great.

We should also think about implementing a small lesson that tasks the user with signing up to the chat.

Showing a non existent user blows up website

If you call something like this GET /users/show/12321313 i.e. non existent user id. You will get this error in production server We're sorry, but something went wrong. Clearly there is an issue.

Upon further investigation it comes down to redirect_to :back in users controller. There is no referrer url i.e. request.env["HTTP_REFERER"] returns nil so the above line of code raises an exception. To solve this we could use session["previous_url"] or we could catch the exception and just return them to root url. I think the former is better.

Finally as I go over the code should I just keep one issue open and keep adding to that one or just make seperate ones as I have done here?

Unable to sign in on Mobile due to screen element sizes

Hey, when trying to log in to the Odin project on mobile I found that the Github sign in link takes up the whole page and the alternate sign in box is inaccessible. I am using chrome on a galaxy s5 running Android 5.0.

Twitter button doesn't include the link or hashtag

Clicking the "Tweet" button at the bottom of lessons currently auto-populates the tweet with a really lame description and doesn't include the link to the lesson!. Ideally, pull together a more interesting blurb (including @TheOdinProject and/or a useful hashtag like #learntocode ) and definitely include the link to the lesson. Just be sure to leave room (e.g. 20 chars) at the end so people can retweet.

Forgotten Password errors

Several emails recently like: "I forgot my password and when I attempt to recover it, it keeps saying something went wrong." Seems to have happened after the bundle update on the repo's gems, so something there is probably the issue. Tests don't seem to be covering it since the suite was all green on the relaunch.

Discus Widget not displaying comments when navigating via the bubble bar

I noticed that the Discus comments associated with the lessons are not displayed when navigating by the bubble nav bar, ( .lc-progress-wrapper ). If I look back at the previous lesson by clicking the bubble nav bar, , and return to the original page by clicking the nav bar again, all comments will be gone. I found the comment will load again by navigating from the main nav page, or altering the url to remove the referer link.
http://www.theodinproject.com/ruby-programming/ruby-on-the-web?ref=lc-pb
to
http://www.theodinproject.com/ruby-programming/ruby-on-the-web?

Thanks so much for the site!

Disqus widget does not link up with my disqus account

It seems like the disqus widget provided throughout the site links to the user's Odin account. While this is all fine and dandy for some, I do have a disqus account and would like the option to log into it. I have no clue if this is feasible from Odin's end, but it would be helpful.

Styling: Reducing the H1 size on mobiles.

This came via the form on the bottom of the site. Think it's a problem? We've had some complaints before about the mobile-unfriendliness of our navbar and headers.


New feedback suggestion for The Odin Project!

User < not logged in > was on /home and said:

pls, fix the size of "div .headline h1" for mobiles using css3. media screen (max width 768px) { font-size:18px }

"Didn't receive instructions or need them again?" doesnot work

I signed in using my Github account however my account was not confirmed, so I selected "Didn't receive instructions or need them again?", entered my email ID with which I have my github account but I did not get any email regarding confirmation.

Two broken links in HTML & CSS basics

In Web Development 101/ The Front End/ HTML & CSS basics the links for OverAPI's HTML Cheat Sheet & OverAPI's CSS Cheat Sheet are broken. They take you to overapi.com/css/ and overapi.com/html/. If you remove the final back slash from each link they work.

Refactoring code

Hi guys,
I have attempted to improve the contacts controller. Please review.
Ref: #111

What do you think changing the figaro by dotenv?

We have a env sample file with the keys to test all in development and test environment.

About it, could be able to have environment variables for development and testing for services. So if everyone who can contribute not need to create these variables of the services, e.g. disqus, github, sendgrid...

Add acceptance tests for lesson navigation edge cases

There are a couple of edge cases with this feature that need to be covered in the acceptance tests:

  • When the user is at the start of a course the previous button should be unusable
  • When the user is at the end of the course the next button should be unusable

Unit tests for static pages controller

There are currently no unit tests for this controller which is having a negative impact on our test coverage. We should create some standard tests for this controller.

Changing over to gitter for chat

We are moving over to gitter because of the message limitations on slack. To facilitate this the following changes need to be made:

The new gitter chat: https://gitter.im/TheOdinProject/theodinproject

  • rename all ruby and css classes and methods with slack to chat, to make them more generic
  • change the slack links to the appropriate gitter links in the chat_link_helper class
  • Remove slack icon from the chat button in the lessons
  • link to the gitter general channel instead of the chat page in the contributing page

Devise should not require email confirmation for Omniauth users

Current behavior: After a certain amount of time, users who created their accounts through GitHub are blocked from logging in, with a message "You have to confirm your account before continuing."
Screenshot:
image

Desired behavior: Omniauth should be sufficient confirmation by itself, so these users should never be required to confirm their email addresses separately.

I think I can fix sometime this week.

ourse List >> Ruby on Rails >> Advanced Forms and Active Record >> 4: Advanced Forms

<%= form_for @user do |f| %>
  ...
  <% 3.times do %>
    <%= fields_for @user.shipping_address.build do |addy_form| %>
      ...
      <% addy_form.text_field :zip_code %>
      ...
    <% end %>
  <% end %>
  <%= f.submit %>
<% end %>

should have these minor changes

    <%= f.fields_for @user.shipping_address.build do |addy_form| %>
      ...
      <%= addy_form.text_field :zip_code %>

Also notice the letter C is missing from Course List in the hierarchy within the drop down menu at the top. It seems to be moved off of the visible page area towards the left.

From page: http://www.theodinproject.com/ruby-on-rails/advanced-forms

There should be a way to resume from last lesson.

When I visit the homepage I have to navigate to the courses page then click the course I'm currently doing and then click on the lesson. It would be convenient to have some sort of resume progress link on the homepage so I could just go directly there. Could potentially store the last visited lesson in a cookie or maybe use the successor to the last completed lesson.

? Erroneous email confirm link ?

From email noon PT 5/31/16:


Hello,

I came across a problem when trying to confirm my email from the welcome email. It directs me to the correct link but times out with the error notification in the subject line. I had to add "www." to get it working.


Acceptance tests for Lessons

These will be tests for lesson show page,

  • marking a lesson as complete
  • The next lesson button
  • The previous lesson button

Content not getting displayed in Chrome browser

The content of the page is not properly getting displayed in Chrome Browser regardless of logged in or not. The content gets displayed for a fraction of second and hides. The version of the browser is '38.0.2125.122'. AdBlocker is disabled. When inspected with dev tools, I can seen that a 'display: none' is added to the div with class 'row' inside the div with class 'container'.


With dev tools doing a refresh shows that the 'style="display: none;"' is added dynamically after the page is loaded.
odin

email confirmation link 404

Looks like if you're on a specific lesson page and click the "resend confirmation email" link (or whatever it's called) it 404's because it tries to generate the /confirm_email link gets appended to the course name, e.g. http://theodinproject.com/ruby-on-rails/confirm_email and there's a routing error.

Facebook API calls deprecated -- slight upgrade needed to API version

I believe this is around the Facebook login features we're using and is hopefully just a quick one.


Hi Erik,
The Odin Project has been making recent API calls to Graph API v2.0, which will reach the end of the 2-year deprecation window on Monday, August 8, 2016. Please migrate all calls to v2.1 or higher in order to avoid potential broken experiences.

We recommend using our new Graph API Upgrade Tool to see which of your calls are affected by this change as well as any replacement calls in newer versions. You can also use our changelog to see the full list of changes.

You can view this and other Developer Notifications related to your app, The Odin Project, in the App Dashboard.
Thanks,
The Facebook Team

How seeds.rb is generated from curriculum repo?

I am just trying to understand how this whole thing works. if I understand correctly, the main data exists in curriculum repo and using that seeds.rb is generated. And this will be used to load the initial data.

but...how this seeds.rb is generated and gets updated as curriculum gets updated?

Not able to log in on Android

Via email:
Just a heads up, the websites login page isnt working from an android cell phone. The only option available, is to login with my github account, but it isnt linked yet. Its trying to have me make a new account for the odin project, or login, but it then loops me back to the same login with github page.

Dev env set up process not clear

As a new contributor to the site, it may be nice to have an easy-to-follow set up guide. It's especially confusing how to connect curriculum data, Git API key to make rake curriculum:update_content work.

This =>

Updating the curriculum...
Creating Github link...
Cycling through 0 lessons...





ALL DONE! Updated the curriculum.

Both application.yml and curriculum.rake were updated by with GitHub API Key...

Acceptance Tests for course Index

These tests will be for the lesson index page,

  • projects are styled differently
  • when all lessons have been completed
  • marking a lesson as complete
  • the percent completed indicator

Contribution standard setup bundler issue

Following the standard setup directions (step 5) yields

-bash: bundle: command not found

Bundler is available in all other directories on my system. Any thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.