Web Development
HTML
HTML5
CSS
JavaScript
Source code control
git
github
Using git for version control and collaboration
Git forking, branching and cloning
Using GitHub as a remote repository
Checkout and rolling back changes with git
Using git and GitHub with vscode
**BootStrap**
Learn the fundamentals of implementing responsive web design.
How to use Balsamiq to mockup and wireframe websites.
The fundamentals of UI design for websites.
How to install the Bootstrap framework.
Understanding the Bootstrap grid layout system.
How to use bootstrap containers to layout your website easily.
Learn to use other Bootstrap components such as buttons.
Adding symbols using Font Awesome.
Learn to use Bootstrap carousels.
Add Bootstrap cards to your website.
Using Bootstrap navigation bars
**JavaScript ES-6**
Starting code with alerts and prompts.
Understand Variables and Data Types in JavaScript
Variable naming in JS
Working with strings and numbers
logical operators
Loops, collections and Conditionals.
Functions and invocation patterns
Discussion of ECMAScripts
Intermediate JavaScript
Learn to use JS Expressions, Operators, Statements and Declarations
Object-Oriented Programming
JS Objects and Prototypes
`This`, Scope and Closures
Objects and Prototypes
Refactoring and Debugging
**Document Object Model-DOM**
Learn the tree structure of HTML based websites.
Traverse through the document using object notation.
Separation of concerns and coding best practices.
Manipulate and change the HTML elements using your understanding of the DOM.
**UNIX Command line**
How to use basic bash commands in a Unix/Linux Terminal.
How to manipulate files and folders without needing a graphical user interface.
How to download and install to your computer using command line
**Node.js**
Explore the components of back-end development, working with an MVC framework
Apply concepts like data types, objects, methods, objectoriented programming, and classes in the context of backend development.
Server-Side JavaScript
Using Node on the command line
NPM
JavaScript Build Processes
Event Loop and Emitters
File System Interaction
Modules
Native Node drivers.
**Express.js**
Understand how to install and use express in Node applications
Creating Node and Express based servers
RESTful Routing with Express
Understand and use middleware for Node applications
**Application Programming Interface-APIs**
Understand what APIs are and how they work.
HTTP in Depth
Calling APIs
Reading API documentation
Basic API Authentication
Server to server communication JSON vs. XML, sending data over the wire.
Lifecycle Methods
Fetching Data
ES6 Spread Operators
Conditional Rendering
Paginated Fetch
Client Cache
Error Handling
Axios instead of Fetch
**Code Organization and Testing**
ES6 Modules: Import and Export
Code Organization with ES6 Modules
Snapshot Tests with Jest
Unit Tests with Enzyme
Component Interface with PropTypes
Debugging with React Developer Tools
**Advanced React Components**
Ref a DOM Element
Higher-Order Components
Advanced Sorting
**State Management in React**
Lifting State
Revisited: setState()
Taming the State
Final Steps to Production
Eject
Deploy your App
**Database Fundamentals**
Data Relationships
Designing a Data Model
Relational Databases
Alternative Databases
Entity Relationship Modelling (ERM) and Object Relational Mapping (ORM)
**SQL Databases**
Working with Database Schemas
Create-Read-Update-Destroy (CRUD)
Database Joins
Querying SQL databases
**Mongo-DB**
Serialization
How to model NoSQL data
Document Databases (MongoDB)
Create-Read-Update-Destroy (CRUD)
NoSQL Best Practices
Mongo Shell and command line use
Installing MongoDB
Mapping relationships with MongoDB
Using an object-data modelling library (Mongoose) to work easily with your data.
**Deployment**
Understand hosting and deployment.
Hosting static websites with GitHub Pages.
Deploying server based applications with Heroku.
Deploying Databases with Mongo Atlas.
**Building Restful APIs**
Understand REST and guiding principles behind API design.
Learn to work with a MongoDB GUI Robo 3T
Implementing GET, POST, PUT, PATCH and DELETE by creating a public API from scratch.
Understand and use chained route handlers from Express.
**Authentication And Security**
Understand the need for authentication and keeping user details secure.
Learn about Encryption and use encryption to keep your database secure.
Learn and implement Hashing and Salting with bcrypt Using Sessions and Cookies to persist user log in sessions.
Setting up local authentication from scratch.
Implementing Passport to authenticate users quickly and effectively.
Understand and use environment variables to keep secret keys secure.
Understand and use OAuth 2.0 to log in users using Google and Facebook.
**React.JS**
Learn front-end development with React.
Understand when and how to use React Components.
Pass Props and work with them.
Write JSX and understand JSX syntax.
State Management in React.
React Hooks.
Conditional rendering in React.
The difference between class and functional components.
Zero-Configuration Setup
Introduction to JSX
ES6 const and let
ReactDOM
Hot Module Replacement
Complex JavaScript in JSX
ES6 Arrow Functions
ES6 Classes
Local Component State
ES6 Object Initializer
Unidirectional Data Flow
Bindings
Event Handler
Interactions with Forms and Events
ES6 Destructuring
Controlled Components
Split Up Components
Composable Components
Reusable Components
Component Declarations
Styling Components
Bootstrap (Front-End Framework)
Flex
Bootstrap
Basic java script
Node.Js
SASS (Stylesheet Language)
Authentication
Mongodb
Express.Js
Lambda
Lambda expression