Skip to content

Instantly share code, notes, and snippets.

@reshadman
Last active June 10, 2020 10:13
Show Gist options
  • Save reshadman/10ad0b0f9066d7da54050cd6dcc05808 to your computer and use it in GitHub Desktop.
Save reshadman/10ad0b0f9066d7da54050cd6dcc05808 to your computer and use it in GitHub Desktop.

Thing you should consider before the beginning:

  • Use a linux based distro as your daily O.S preferrably Ubuntu if you don't know what Ubuntu is search for it.
  • Install Ubuntu you would never come back to Windows :D
  • Then put effort on learning O.S package managers like apt for Ubuntu, yum for CentOS etc.
  • Learn to work with terminal, learn how bash scripts work but don't put too much effort on them just as enough as you know how they work
  • Download PHPStorm (Acts like Visual Studio but it is for PHP World)
  • Learn to work with one additional Editor such as Sublime Text or "Visual Studio Code -- it is different from Visual Studio--"

Start learning PHP / Javascript / CSS / MySQL

  • Learn PHP by reading two of this three books:
    1. https://www.amazon.ca/dp/B00BALXN70?tag=hackr0e1-20
    2. https://www.amazon.ca/dp/0987153080?tag=hackr0e1-20
    3. https://www.amazon.ca/dp/1491949465?tag=hackr0e1-20
  • Download the above books from (https://b-ok.cc)
  • Set a personal(pet) project for yourself, I can suggest one on my own which covers all the necessary topics needed:
    • A web application which allowes users to define football clubs and players
    • These football clubs are going to hold a season each year just like Premier league
    • Search for an algorythm called: Round robin tournament, this is used for planning home/away matches between clubs.
    • You should be able to program the user interface using HTML5 - SCSS/CSS - Javascript.
    • Search for JSON APIs and Ajax
    • Put a login/logout functionality in the website for different types of user accounts with different levels of permissions.
    • All of the data for this web app should be stored in MySQL, for that you need to be fluent in SQL which is covered in those books mentioned above.
    • Finally the application should be deployed in a cloud server and accessible through a web domain.
    • Try to dockerize your web application if you don't know what Docker is search for It.
  • Specifically start learning CSS from W3Schools and Internet, no book is needed for CSS, it is learnt from too much practicing.
  • Start to learn Design from this book:
  • Start to specifically learn Javascript from the following book:
  • Start learning jQuery dont get too deep in the topic just as much as you need for what you have learnt.
  • Put effort on finding out what these Javascript libraries are: 1. React 2. Vue, don't go deep on them just a simple brief on how they help.
  • Find out what is ES5/ES6 In javascript, what are task runners such as Gulp, Grunt, Webpack again don't get too deep on them.
  • Find out what are CSS preprocessors.
  • Find out what is Node Package Manager (NPM) try to make packages of all of your existing javascript codes in the football clubs project.
  • Deeply research about version controls specially Git, try to learn git it is easy.
  • Back to PHP Again, focus on object oriented PHP Programming, research about Software Design Patterns, and Application Architecture Patterns such as MVC
  • Learn to work with PHP Composer
  • Research about full-stack PHP web frameworks and learn how they work and how they make the process of web application development easy.
  • Research about Laravel, try to learn Laravel from Its documentation or start finding a good book about that.
  • Watch Laravel videos from (https://laracasts.com)
  • Laravel is your only final tool for developing web applications, Rewrite the above application (Football Clubs) with the new technologies you have learnt.

Inform me of your progress or any misunderstanding you are facing.

Don't panic about the above KEYWORDS, start with the exact priority I have defined, you should be fine.

Ask questions when 1.you have got problems , 2.if you didnt find out what a topic is by searching in the Internet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment