Overview
With advances in technology and the growing need for effective communication and collaboration, organizations need to break the silos between the departments involved in the software development process. This is where the full stack developer steps in. Java Full Stack developers are professionals who are familiar with each layer of the entire stack.
Cognixia’s Java Full Stack Course covers both front-end and back-end development. It covers several web development concepts using the Java programming language including database programming, server-side scripting, UI design and development, and overall web application development.
What You'll Learn
- Overview of Node.js, JS modules
- Process and File System
- Introduction to Express.js, Routing, Middleware and Template engines
- js Security and de-bugging
- MongoDB and CRUD operations
- Core concepts of Mongoose
- Introduction to Angular.js?
- Exploring Angular versions
- Services and Dependency Injection
- Communication with the server using HTTP service
- js security
- Working with Model-driven forms/Reactive forms
- Angular Universal for server-side Rendering
- Creating, building and deploying and Angular application
Curriculum
- What is Node.js
- Overview of eventloop
- Event-driven architecture
- Blocking vs non-blocking code
- Setup Node.js
- Node REPL
- HelloWorld program
- Debugging Node.js app
- Understanding exports and require
- Creating modules
- Importing modules
- Quick tour on NPM
- Installing 3rd party modules
- Significance of events
- EventEmitter class
- Emitting and listening to events
- Types of streams
- Working with streams
- Composing streams using Pipe
- Process object
- Handling exceptions at process level
- Listening to process events
- Working with file system using FS module
- Creating, copying and deleting files
- Creating, copying and deleting directories
- Watching for file changes
- Installing express
- First app with express – demo
- Overview of routes
- Overview of Express Middleware
- Serving static files with Express
- Express application generator
- What is Express.js
- Route methods
- Route paths
- Parametrized routes
- Route handlers
- Express router
- Types of Middleware – Application, Error, Router, Built-in Third party
- Error Middleware
- Body parser, cookie parser, session management
- What are template engines?
- EJS
- Jade
- Handlebars
- Authentication
- JWT
- Securing routes
- Real-time programming with Socket.io
- Scaling Node-js applications – Child process model; Exec, Spawn and Fork functions; using Cluster modules
- Installing MongoDB
- The current SQL/NoSQL landscape
- Document-oriented vs other types of storage
- Mongo’s feature set
- Common use-cases
- MongoDB databases
- MongoDB collections
- MongoDB documents
- Creating documents
- Querying documents
- Updating documents
- Deleting documents
- Overview of ORM/ODM
- Installing Mongoose
- Connecting to MongoDB from Mongoose
- Understanding Mongoose schemas and data types
- Working with Models
- Using modifiers in Schema
- Using virtual fields
- Optimizing query performance by enabling indexes
- Working with hooks
- Validation of model data
- Creating custom static methods
- Creating custom instance methods
- CRUD operations with Mongoose
- User experience similar to Desktop Application
- Productivity and tooling
- Performance
- Community
- Full-featured framework
- Platform for targeting native mobile, not just web browsers
- Angular.js (Angular 1.x)
- Angular
- Angular 2
- Angular 4
- Angular 5
- View engines generate smaller code
- Enhanced *ngif syntax
- Animation code now in own packages
- TypeScript 2.1
- Improved compiler speed
- Angular Universal
- Components
- Templates
- Modules
- Models
- HTML in templates
- Interpolation
- Binding syntax
- Property binding
- Event binding
- Two-way data binding
- Attribute, class and style binding
- Built-in directives
- Template input variables
- The NgSwitch Directives
- Component communication
- Input properties
- Output properties
- Angular’s Dependency Injection system
- Registering
- Injecting
- Using Services to access data
- Ngsubmit directive
- Forms module
- NgForm, NgModel
- Displaying validation messages
- Styling validation messages
- Deciding between Promises and Observables (Rx.js)
- Making HTTP GET requests
- Making HTTP POST and PUT requests
- Issuing a HTTP DELETE request
- Importing the router module and routes
- Configuring routes
- Displaying components using a router outlet
- Navigating with router link
- Accessing parameters
- Organizing your code into modules
- Working with logging and error handling
- JSON based communication
- Route guards
- Auth0 based security
- Tools – Jasmine, Karma
- Jasmine syntax – Describe, It, BeforeEach, AfterEach and Matchers
- Setup your first Test
- E2E testing
- Reactive forms module
- AbstractControl, FormControl, FormGroup and FormArray
- FormBuilder
- Validators
- Displaying validation messages
- Styling validation messages
- Creating a custom Attribute Directive using ElementalRef, Render
- Pipes
- Built-in pipes: Using, Passing parameters, Chaining
- Creating a custom Pipe using Pipe Transform
- Understanding Pure and Impure Pipes
Who should attend
- Web Developers
- Designers
- Software Engineers
- Engineering Graduates
- Technical Managers
- System Engineers
- Network Professionals