FULL STACK WEB DEVEPOLMENT
01. Web Developments Fundamentals
- Understand how websites work and how HTML, CSS and JavaScript contribute.
- Understand how the internet works.
- Start coding with HTML, CSS, and JavaScript.
- Learn and understand git, GitHub and version control.
- Use the Unix command line to become a power user and write bash commands.
- Learn key troubleshooting and debugging skills to apply to your projects.
02. HTML 5
- Learn the anatomy of HTML syntax to structure your websites.
- Understand the HTML boilerplate and HTML doctypes.
- How to structure text in HTML.
- How to structure HTML lists to create unordered and ordered lists.
- How to insert images using HTML.
- How to create hyperlinks using anchor tags.
- Understand how to use HTML tables for content.
- How to use tables for layout.
- Learn HTML best practices.
- Understand about HTML forms and create a simple contact me form.
- HTML Divs and how to separate content for CSS styling.
- Understand what are cascading style sheets and how you can use it to style your website.
- How to use CSS selectors and properties.
- Learn about how to use inline, internal and external CSS.
- Understand CSS coding best practices.
- Learn about CSS sizing methods.
- Learn the anatomy of CSS syntax and structure.
- CSS specificity and implementing style hierarchy.
- Class vs. Ids and how to target each.
- CSS display and how to implement layout.
- How to use CSS static, relative and absolute positioning
- systems.
- Font styling using CSS and web safe fonts.
- Centering elements using CSS.
- Website design fundamentals and typography.
- How to use CSS float and clear.
- How combine CSS selectors and understand selector priority.
- 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.
- The Fundamentals of Code.
- Starting code with alerts and prompts.
- Understand Variables and Data Types in JavaScript.
- Variable naming in JS.
- Working with strings and numbers.
- Randomisation and 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
- 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.
- Installing and using the jQuery framework.
- Learning about jQuery functionality
- Introduction to functions in jQuery
- Manipulating text, styles and attributes with jQuery
- Create animations and customisations with jQuery
- Use your jQuery knowledge to make your website interactive
- Responding to user initiated events with jQuery
- 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.
- 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 Xcode
10. NODE.JS
- Explore the components of back-end development, working with an MVC framework
- Apply concepts like data types, objects, methods, object oriented 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
- 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
- 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.
13. EJS
- Understand what EJS does and how to use it with Node and Express.
- Templating with EJS
- Running code in EJS templates
- Passing data from server to template and vice versa
- Creating layouts/partials with EJS
14. DATABASE FUNDAMENTALS
- Data Relationships
- Designing a Data Model
- Relational Databases
- Alternative Databases
- Entity Relationship Modelling (ERM) and Object Relational Mapping (ORM)
- Working with Database Schemas
- Create-Read-Update-Destroy (CRUD)
- Database Joins
- Querying SQL databases
- 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.
- Understand hosting and deployment.
- Hosting static websites with GitHub Pages.
- Deploying server based applications with Heroku.
- Deploying Databases with Mongo Atlas.
- 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.
- 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.
- Learn front-end development with React.
- Understand when and how to use React Components.
- Learn to pass Props and work with them.
- Learn to write JSX and understand JSX syntax.
- Learn about the React DOM.
- Learn State Management in React.
- Learn about React Hooks.
- Learn about conditional rendering in React.
- Understand the difference between class and functional components.
- Arrow Functions
- Map/Filter/Reduce
- Find/FindOne/FindIndex
- Import/Export and Modules
- Object and Array Destructuring
- Spread Operator
END