Introduction

Introduction
๐Ÿฐ Player
Setup
Not Attempted
NameProgress
Software Installation
Not Read
Project Setup
Not Read
Running and Testing
Not Read
React and ReactDOM
Not Read
๐Ÿ’ก Assignment 1: Welcome Message
Not Attempted
Submissions
Not Read
React
Not Attempted
NameProgress
JSX and Components
Not Read
Props
Not Read
๐Ÿ‘พ Exercise: Props
Not Attempted
CSS Styles
Not Read
useState and Hooks
Not Read
๐Ÿ‘พ Exercise: useState
Not Attempted
Conditional Rendering
Not Read
Lists
Not Read
๐Ÿ‘พ Exercise: Lists
Not Attempted
Forms and Events
Not Read
๐Ÿ‘พ Exercise: Forms
Not Attempted
๐Ÿ’ก Assignment 2: Front End
Not Attempted
Advanced React
Not Attempted
NameProgress
Pure Components - memo
Not Read
Lifecycle - useEffect
Not Read
Expensive? - useMemo
Not Read
DOM Interactions - useRef
Not Read
forwardRef
Not Read
useImperativeHandle
Not Read
๐Ÿ‘พ useImperativeHandle
Not Attempted
Context
Not Read
useCallback
Not Read
useId
Not Read
useReducer
Not Read
Infrastructure
Not Attempted
NameProgress
Database
Not Read
NextAuth and Github Authentication
Not Read
Prisma and ORM
Not Read
Project Setup
Not Read
Project Authentication
Not Read
APIs
Not Attempted
NameProgress
APIs
Not Read
APIs - Slides
Not Attempted
Rest APIs
Not Read
Rest APIs - Express.js
Not Read
ReastAPIs - Next.js
Not Read
Securing APIs
Not Read
Securing APIs - NextAuth
Not Read
tRPC
Not Attempted
NameProgress
tRPC
Not Read
tRPC - Routers
Not Read
tRPC - Server Rendering
Not Read
tRPC - Client Rendering
Not Read
Persisting Data
Not Read
Assignment 3: APIs
Not Read
0 / 20 XP

Lecture Transcript
If you prefer text to video, check out the transcript of the presentation above

Welcome to your exciting journey into the world of full-stack development! Whether you've dabbled in coding or are just curious about how websites work, you're in the right place. This course is designed to turn you from a complete beginner into a confident full-stack developer skilled in crafting modern web applications using NodeJS and React.

Hmmm, what is full-stack development?

Full-stack development involves creating all the parts of a web or mobile application and developing all processes and pipelines related to quality assurance and system delivery.

Being a full-stack developer can also feel like being in a one-man band ... a really awesome band, as you must know how to play many instruments to deliver your project.

So, what is a stack, and what role does it play in full-stack development?

The stack represents the selection of technologies to build, deploy, and maintain all the parts of a software system.

As a full-stack developer, your primary responsibility is to deliver your application's front-end and back-end. The front end is the application user interface, while the back end implements the business logic and data persistence.

Very often, you are also responsible for maintaining the quality of the software product, assuring that nothing breaks when new features are developed and integrated.

Once you finish a new feature, you will deploy your solution to the infrastructure, ensuring availability and scalability. Often, your application is spread across multiple servers, cloud providers and architectures.

Last but not least, you should be knowledgeable of project management methodologies and tools to support system development and have the capability to automate repetitive processes in the lower layers of this stack. Are you ready for the challenge? Let's now dissect individual parts of the stack.

The front-end is like the exterior and interior designโ€”what users see and interact with. It is the visual part of your applications, such as the skillpies website.

There are many frameworks that facilitate front-end development, such as AngularJS from Google, .NET from Microsoft, or open-source frameworks such as VueJS, Svelte or ever-so-popular jQuery.

In this course, we will use React, which is a javascript-based framework developed at Facebook, quickly becoming one of the most popular front-end frameworks out there!

Behind the scenes, the back end is where all the power lies. It's where your business logic, financial transactions, confidential computations, and the magic that drives your application all come together.

Due to the limitations of programming language support in browsers, the front end is usually built with HTML, CSS, and Javascript. But, in the backend, you have more freedom to choose your programming language and architecture.

Python language is a popular choice, supported by fully-featured Django framework and FastAPI.

Beginners love PHP, and Laravel delivers probably the most complete tool-belt out of all existing frameworks. PHP still powers over 80% of websites around the world!

If you are looking for a corporate solution based on Windows OS servers, Microsoft's .NET has been a stronghold for full-stack applications. But, in recent years its popularity for new developments is slowly declining.

While there are other languages and frameworks, such as Ruby and Rails or Java's Spring Boot, this course will use NodeJS. We have very good reasons for choosing NodeJS, which we will discuss later. For now, all you need to know that it will make your life easier while learning one of the most popular back-end frameworks.

Let's briefly discuss why we chose the ReactJS framework for front-end development during this course.

Number 1 reason is that React is straightforward to learn and use, especially if you're already familiar with JavaScript. You can build dynamic and interactive UIs with React without steep learning hurdles.

React is one of the most in-demand skills in web development today, with ever growing community.

React developers are also among the highest paid front-end developers on the job-market!

React composes user interfaces from components. You can reuse components across many projects, saving you much time. You can also use ready-made components from open-source or commercial UI frameworks or package providers such as NPMJS

As mentioned in a previous slide, React ecosystem contains tons of libraries, tools, and resources supported by a bubbly and friendly community. Check out technology visionaries and thought leaders for your next Instagram or X follow. It's fun!

With React, you are in great company. The majority of Fortune 500 companies already use React. Companies like Netflix, X, and even Tesla have recently rebuilt their online services using React. This indicates the longevity of the adoption of this technology.

Alright, we chose an excellent front-end framework. Now, let's discuss why we chose NodeJS for our backend.

NodeJS is built on the V8 engine, making it incredibly fast and efficient in executing JavaScript.

Its non-blocking, event-driven architecture allows for handling multiple requests simultaneously, making it highly scalable for large applications.

NodeJS is designed for the online world. It is ideal for building real-time applications like chat apps, gaming servers, and collaborative tools.

NodeJS unifies development across the entire stack using a single programming language, JavaScript or TypeScript.

So, you'll be able to focus on developing features for your client or server, rather than learning new technologies or running different tools.

This unification speeds up development, reduces the learning curve, and simplifies code maintenance.

Sharing code between the client and server becomes effortless, enhancing overall productivity.

I hope you're motivated to complete the exciting journey and learn full-stack development with me.

For now, we will leave the rest of the stack alone and focus on front end, back end and database development.

As a back-end, we will use the popular SQL-based PostgresDB. We will explain our choice later on and we will also try No-SQL databases, such as MongoDB.

Hey, let's dive into the exciting stuff! In the next section, we'll kick off by creating our first application. This app will help you plan your day and stay on top of your tasks. So, let's Get things Done!

Description
All the extra information about this section

Welcome to your exciting journey into the world of full-stack development! Whether you've dabbled in coding or are just curious about how websites work, you're in the right place. This course is designed to turn you from a complete beginner into a confident full-stack developer, skilled in crafting modern web applications using Node.js and React.

What is Full-Stack Development?

Full-stack development refers to the comprehensive creation of both the front-end and back-end parts of a web application. Think of it as being the architect, the builder, and the decorator of a digital 'house'. The front-end is like the exterior and interior designโ€”what users see and interact with. Using React, you'll learn to make it as user-friendly and beautiful as possible. The back-end, powered by Node.js, is like the plumbing and electrical systems hidden behind the wallsโ€”it makes everything run smoothly and efficiently.

Why Node.js and React?

  • Node.js: A powerful platform that allows you to use JavaScript, a language traditionally used for creating websites, to write server-side code. It's fast, scalable, and has a massive community and ecosystem, which makes it an excellent choice for both beginners and seasoned developers.

  • React: A library created by Facebook for building interactive and dynamic user interfaces. It's one of the most popular tools for front-end development, known for its efficiency and flexibility. React will help you build complex interfaces through reusable components, making your code cleaner and easier to maintain.

Course Structure

Our journey will be divided into several modules, each designed to build on the skills you've previously acquired. During this journey we will build a full-stack application that aims at organisaing your time through โ€œGet Things Doneโ€ approach.

Who Should Take This Course?

This course is perfect for anyone who's curious about how web applications are built. Whether you're a student, a hobbyist, or looking to change careers, if you have a passion for learning and a basic understanding of computers, you'll fit right in.

So, gear up for a learning adventure filled with coding, creativity, and fun. Letโ€™s build some amazing stuff together!

Extra: Narrative Poll

Tell us which narration accent you prefer!

Extra: Basic Code Example

We use this example to showcase the interactive features of the pieEditor

Maggie

Discuss with Maggie
Use the power of generative AI to interact with course content

Discussion

0 comments
Loading editor ...
Remember to be polite and report any undesirable behaviour

Category

Empty

Labels

Discussion has no labels

1 participant

user avatar

Priority

Notifications

You're not receiving notifications from this thread.
Course Outline