the-odin-project

The Odin Project

About The Odin Project

The Odin Project is one of those β€œWhat I wish I had when I was learning” resources. Not everyone has access to a computer science education or the funds to attend an intensive coding school and neither of those is right for everyone anyway. This project is designed to fill in the gap for people who are trying to hack it on their own but still want a high quality education.

Me and The Odin Project

Thank Theodinproject πŸ”— so much :heart: I have no experience at coding and don’t know where should I start to become a web developer. But The Odin Project saved me. If you are a beginner and want to have a learing path, let’s visit theodinproject.com now. Now, I am learning Ruby on Rails and this is my learning path in The Odin ProjectπŸ”—

Feel free to fork my repo, or copy my path in README.md if you need help :blush: :tada: :tada: :tada:

All my notes written in Vietnamese (vi). I so happy if you can help me translate to other languages. Many thanks Introduction note
Git note
HTML note
CSS note
Javascript note
Ruby-lang note
Ruby on Rails note
Computer Science note
SQL note
Testing note

My folders structure

View my folders structure

This is place where I saved all projects, files,... I have learned in The Odin Project. See below for more infomation about each folder.


.
β”œβ”€β”€ html-css
β”‚Β Β  β”œβ”€β”€ apple-page
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ apple.html
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”‚Β Β  └── style.css
β”‚Β Β  β”œβ”€β”€ grid-based
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ mincss
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── assets
β”‚Β Β  β”‚Β Β  β”‚Β Β      β”œβ”€β”€ css
β”‚Β Β  β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ styles.css
β”‚Β Β  β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ styles.css.map
β”‚Β Β  β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ styles.min.css
β”‚Β Β  β”‚Β Β  β”‚Β Β      β”‚Β Β  └── styles.min.css.map
β”‚Β Β  β”‚Β Β  β”‚Β Β      └── scss
β”‚Β Β  β”‚Β Β  β”‚Β Β          β”œβ”€β”€ _base.scss
β”‚Β Β  β”‚Β Β  β”‚Β Β          β”œβ”€β”€ _components.scss
β”‚Β Β  β”‚Β Β  β”‚Β Β          β”œβ”€β”€ _grid.scss
β”‚Β Β  β”‚Β Β  β”‚Β Β          β”œβ”€β”€ _list-variables.scss
β”‚Β Β  β”‚Β Β  β”‚Β Β          β”œβ”€β”€ styles.scss
β”‚Β Β  β”‚Β Β  β”‚Β Β          └── _var-colors.scss
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ test
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── homepage.html
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  β”œβ”€β”€ mint-sign-up
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ sign-up.html
β”‚Β Β  β”‚Β Β  └── styles.css
β”‚Β Β  β”œβ”€β”€ newsweek
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ styles.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── styles.min.css
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ home.html
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  β”œβ”€β”€ nyt-page
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ nyt.html
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”‚Β Β  └── styles.css
β”‚Β Β  β”œβ”€β”€ smashing-layout
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ smashing.html
β”‚Β Β  β”‚Β Β  └── style.css
β”‚Β Β  β”œβ”€β”€ the-next-web
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ destop.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ mobile.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ setup.css
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── style.css
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ home.html
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  └── youtube-clone
β”‚Β Β      β”œβ”€β”€ README.md
β”‚Β Β      β”œβ”€β”€ styles.css
β”‚Β Β      └── watch.html
β”œβ”€β”€ images
β”‚Β Β  β”œβ”€β”€ ...
β”‚Β Β  └── ...
β”œβ”€β”€ js
β”‚Β Β  └── library
β”‚Β Β      β”œβ”€β”€ home.html
β”‚Β Β      β”œβ”€β”€ main.js
β”‚Β Β      β”œβ”€β”€ README.md
β”‚Β Β      └── style.css
β”œβ”€β”€ rails
β”‚Β Β  └── README.md
β”œβ”€β”€ ruby
β”‚Β Β  β”œβ”€β”€ custom-enum
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ spec
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ custom-enum_spec.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── spec_helper.rb
β”‚Β Β  β”‚Β Β  └── custom-enum.rb
β”‚Β Β  β”œβ”€β”€ data_structures-algorithms
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BST
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── binar_search_trees.rb
β”‚Β Β  β”‚Β Β  └── knights_travails
β”‚Β Β  β”‚Β Β      └── knight.rb
β”‚Β Β  β”œβ”€β”€ event_manager
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ db
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ event_attendees.csv
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── event_attendees_full.csv
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── event_manager.rb
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ output
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ form_letter.html
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  β”œβ”€β”€ final-project
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ data
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── history.yml
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ board.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ cons.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ game.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ pieces.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── player.rb
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ spec
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ pieces_spec.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── spec_helper.rb
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ play_game.rb
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  β”œβ”€β”€ game_connect_four
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ game
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── main-board.rb
β”‚Β Β  β”‚Β Β  └── spec
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ lib_spec.rb
β”‚Β Β  β”‚Β Β      └── spec_helper.rb
β”‚Β Β  β”œβ”€β”€ game_hangman
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ db
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── 5desk.txt
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ main.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── model.rb
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ log
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ history.csv
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── pause.csv
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  β”œβ”€β”€ game_mastermind
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ai_play.rb
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib_game.rb
β”‚Β Β  β”‚Β Β  └── play_game.rb
β”‚Β Β  β”œβ”€β”€ game_tic_tac_toe
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ game
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib_game.rb
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── main_game.rb
β”‚Β Β  β”‚Β Β  └── spec
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ lib_game_spec.rb
β”‚Β Β  β”‚Β Β      └── spec_helper.rb
β”‚Β Β  β”œβ”€β”€ linked_list
β”‚Β Β  β”‚Β Β  └── linked_list.rb
β”‚Β Β  └── methods
β”‚Β Β      β”œβ”€β”€ lib
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ bubble_sort.rb
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ caesar_cipher.rb
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ merge_sort.rb
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ recursion.rb
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ stock_picker.rb
β”‚Β Β      β”‚Β Β  └── sub_strings.rb
β”‚Β Β      └── spec
β”‚Β Β          β”œβ”€β”€ caesar_cipher_spec.rb
β”‚Β Β          └── spec_helper.rb
β”œβ”€β”€ web_dev
β”‚Β Β  β”œβ”€β”€ Etch-a-Sketch
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ function-sketch.js
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.html
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”‚Β Β  └── style.css
β”‚Β Β  β”œβ”€β”€ google_homepage
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ bower.json
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.html
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”‚Β Β  └── styles.css
β”‚Β Β  └── rock_paper_scissors
β”‚Β Β      β”œβ”€β”€ mini_game.html
β”‚Β Β      β”œβ”€β”€ mini_game_with_ui.html
β”‚Β Β      β”œβ”€β”€ mini_game_with_ui.js
β”‚Β Β      β”œβ”€β”€ README.md
β”‚Β Β      └── style.css
β”œβ”€β”€ notes
β”‚Β Β  └── vi
β”‚Β Β      β”œβ”€β”€ intro-note.md
β”‚Β Β      β”œβ”€β”€ git-note.md
β”‚Β Β      β”œβ”€β”€ html-note.md
β”‚Β Β      β”œβ”€β”€ css-note.md
β”‚Β Β      β”œβ”€β”€ js-note.md
β”‚Β Β      β”œβ”€β”€ CS-note.md
β”‚Β Β      β”œβ”€β”€ SQL-note.md
β”‚Β Β      β”œβ”€β”€ ruby-note.md
β”‚Β Β      β”œβ”€β”€ rails-note.md
β”‚Β Β      └── testing-note.md
└── README.md

Courses

Web Development 101 πŸ”—

:dart: Basic about web, git, front-end (html/css/javascript), back-end

Ruby Programming course πŸ”—

:dart: Object-oriented design, testing, data structures

Ruby on Rails course πŸ”—

:dart: Please read README.md in folder :open_file_folder: rails to follow link to my projects

HTML-CSS course πŸ”—

:dart: Deep learning about HTML and CSS for UX web development

JavaScript course πŸ”—

:dart:

TheOdinProject learning path

Jump to

Foundations

Introduction

1. Git

2. Font-end basics

3. About back-end

Full-stack Ruby on Rails

I. Ruby programming

1. Basic Ruby

2. Object Oriented Programming (OOP)

3. Files and Serialization

4. Advanced Ruby

5. Computer Science (a bit)

6. Testing

7. Mini-projects

II. Database

III. Ruby on Rails

1. Rails basics

2. Active record basics

3. Forms and authentication

4. Advanced form and active record

5. APIs

6. Mailer and advanced topics

7. Projects

IV. HTML - CSS

1. HTML page structure

2. Display and input data

3. CSS

4. Design and UX

5. Responsive and Frameworks

6. Advanced CSS

V. JavaScript

1. Organizing Js code

2. Tools and a few practical applications of JavaScript

3. Asynchronous JavaScript and APIs

4. React Js (front-end framework)

5. Testing

6. JavaScript and Backend

Bonus

Useful things for you

Searching

  • DevDocs combines multiple API documentations in a fast, organized, and searchable interface.
  • SymbolHound is a search engine that doesn't ignore special characters. This means you can easily search for symbols like &, %, and Ο€.
  • Collecting all cheatsheet
  • Devhints is another collection cheatsheet
  • The Ruby Toolbox is a catalog of all Rubygems that keeps track of popularity and health metrics to help you choose a reliable library
  • Code beauty where you can lookup a lot of tools here.
  • Tools

  • Ruby regex tool test Ruby Regex
  • Can I use provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.
  • Autoprefixer CSS
  • Create README.md online
  • Create gitignore
  • Create resume
  • Usefull

  • Ruby best practice
  • Rails best practice
  • Refactoring is a source for Design Pattern, Refactor code
  • Devtut has a lot of source to study
  • Goal kicker free programming books
  • Ruby wikibook
  • List web development tools
  • Resources web skills
  • Free HTML templates
  • HTML reference
  • CSS gradient
  • CSS reference
  • Css-tricks
  • Ruby hacking guide
  • Coding practice

  • Codewars
  • Hackerank
  • Edabit
  • Exercism
  • Codinggame
  • Leetcode