Skip to main content

Getting started

What will you learnโ€‹

Hi fresher ๐Ÿ˜€!โ€‹

Welcome to Avada team training docs, where you will take the first step of the roadmap to become an NodeJS, React developer for the Avada team. Things would seems a bit tough at first because our training program requires you to learn a quite massive amount of knowledge in a short interval. But anyways, hard work will pay off. So, stay tuned and keep learning ๐Ÿ‘

Our development stackโ€‹

It is not easy to come up with a development stack, which requires a lot of efforts and time spent researching and eventually produce a stable and reliable architecture. We are very proud to introduce our development stack for a standard web application as below:

Development stack As you can derive from the illustration above our app consists of two main parts which are Front end and Back end. Unlike traditional MVC architecture that you might be familiar with, our stack has one client side SPA (Single Page Application) app powered by ReactJs, which will render the whole application in one HTML page. This standalone app will interact with the API powered by NodeJS and Firebase Cloud Functions. This API will query and retrieve data from our NoSQL Firestore Database. Most of the time, our system will work with JSON Data from API or from Firestore itself

You might be familiar with a MVC model where web server will render a View. The View will make request to a controller then query to Database (maybe an SQL one, we will use NoSQL) via a Model. It is recommended that you should not apply all of the foundation knowledge into Avada Development Stack because it will trap you into some severe pitfalls. Make sure that you stick to our learning path.

And again, make sure that you stick with our learning path

What is your learning path?โ€‹

Week 1.โ€‹

Helpful/Practical NodeJS/Javascript syntax and featureโ€‹

On the first day, you will get to know some helpful Javascript/NodeJS syntax and feature that we commonly use in our daily work. It is quite important to master these feature and syntax to master NodeJS or Javascript in general. We can list some below:

Basic KoaJS APIโ€‹

  • You will learn to make an API using a NodeJS framework called KoaJS
  • With KoaJS API, will learn the important features of KoaJS as middleware, asynchronous programming, etc.

Week 2.โ€‹

Learn how to make an To-do application with Reactโ€‹

Learning React will take you time get familiar. It may take more than one week to master, but don't worry, you can still revise during the week3 when we bring everything together.

Week 3โ€‹

Getting started with Serverless and Firebase.โ€‹

  • You will learn about the Serverless and Firebase environment to understand the pros and cons of this technology of the future web development.
  • Deploy your first NodeJS API on Firebase Cloud Functions.
  • Deploy your first React App on Firebase Hosting.
  • Learn how to use Firestore as Database for your API
  • Connect your React app with Backend via your own API.
  • Getting started with a basic Shopify Application using Avada CLI tools

Week 4โ€‹

  • Make a minor app with the requirement and guidance from your trainer

Week 5โ€‹

You should be finishing your minor app and ready for a review section at the end of this training program.

If you pass the review section, you will continue to work as a new member in the team. Wish you all the best!

Noticeโ€‹

The time of the internship will be about ~ 3 months or less if you perform well with your job.

Before you dive inโ€‹

Before entering your journey, you need to set up and install a few things in advance:

IDE or Text Editorโ€‹

It is recommended to use IDE over Text Editor. What do I mean by Text Editor here? Tools like Sublime Text, or Visual Studio Code. With Text Editor, it will be a light-weight option for your code editing. Well, if your job is just to edit code, then it might be good to go. But making software development, delivering product with high quality, you will probably need more than that.

In our team, it is more recommended to use Webstorm over other tools for a couples of reasons:

  • Better code browsing. You can browse your code base easily with Ctrl + Click and traverse to only related file.
  • Full-text search, symbol search among code base, which will help you read your codebase much faster.
  • Integrated run time for running commands with ease.
  • Git support with Git merge, git log with good UI.

Webstorm-only downside is that it requires 16GM RAM, SSD M2 drive to run smoothly because it need times to index the codebase.

Also, one of the reasons is to help developers be familiar with Product concept. Avada SasS is a Software as a Service company having a subscription base business model, same as Webstorm. If you are going fishing, you will pay for fishing gears, that is quite obvious. So why crack or use a Free solution for your job while you can boost the performance by just paying a few bucks.

However, never mind, we will share you the key, but it is still better to get yourself around that mindset of paying for money-making sidekick.

CLIโ€‹

You need to be familiar with Command line. What I mean by Command line here is not the Command Line on the Windows. No developers use that.

You should use Linux like shells like GitBash. If you are using Mac or Ubuntu (Linux) and there should be no problems.

Browserโ€‹

I don't know why we should have this conversation, but true, you need to install Google Chrome for the best development experience. If you are using Safari, Opera, Firefox for development, then it might mean that you are doing not-so-good development work since you are using none of the development tools available (due to the fact that these dev tools on these browser are bad, and you rarely use it to know that it is bad.)

So don't make a lame excuse that you are familiar with this browser or anything like that. If you use it to watch a movie, then it is fine. Not for development work.

Englishโ€‹

If you are using Google Translate to read this line. STOP it right away. Use English all the time. Google using English, ask ChatGPT using english. Use Google Search, do not use Bing or Yahoo Search for your searching.

If you set up Shopify store, set up in English. If you read Firebase, Shopify docs, read it in English.

NodeJS and Yarnโ€‹

note

You should install Yarn and NodeJS version 20.11.0 (exact version for compatibility) to have this to work. If you want to use many NodeJS version, use nvm: https://github.com/nvm-sh/nvm

Then install Yarn for package manager:

npm i -g yarn