Mern Stack Development Training by Experts

;

Our Training Process

Mern Stack Development - Syllabus, Fees & Duration

Module 1: Introduction to React

  • What is React?
  • Why React?
  • React version history
  • React 16 vs React 15
  • Just React – Hello World
  • Using create-react-app
  • Anatomy of react project
  • Running the app
  • Debugging first react app

Module 2: Templating using JSX

  • Working with React. create Element
  • Expressions
  • Using logical operators
  • Specifying attributes
  • Specifying children
  • Fragments

Module 3: About Components

  • Significance of component architecture
  • Types of components
  • Functional
  • Class based
  • Pure
  • Component Composition

Module 4: Working with state and props

  • What is state and it significance
  • Read state and set state
  • Passing data to component using props
  • Validating props using prop Types
  • Supplying default values to props using default Props

Module 5: Rendering lists

  • Using react key prop
  • Using map function to iterate on arrays to generate elements

Module 6: Event handling in React

  • Understanding React event system
  • Understanding Synthetic event
  • Passing arguments to event handlers

Module 7: Understanding component lifecycle and  handling errors

  • Understand the lifecycle methods
  • Handle errors using error boundaries

Module 8: Working with forms

  • Controlled components
  • Uncontrolled components
  • Understand the significance to default Value prop
  • Using react ref prop to get access to DOM element

Module 9: Context

  • What is context
  • When to use context
  • Create Context
  • Context Provider
  • Context Consumer
  • Reading context in class

Module 10: Code-Splitting

  • What is code splitting
  • Why do you need code splitting
  • React lazy
  • Suspense
  • Route-based code splitting

Module 11: hooks

  • What are hooks
  • Why do you need hooks
  • Different types of hooks
  • Using state and effect hooks
  • Rules of hooks

Module 12: Routing with react router

  • Setting up react router
  • Understand routing in single page applications
  • Working with Browser Router and Hash Router components
  • Configuring route with Route component
  • Using Switch component to define routing rules
  • Making routes dynamic using route params
  • Working with nested routes
  • Navigating to pages using Link and NavLink component
  • Redirect routes using Redirect Component
  • Using Prompt component to get consent of user for navigation
  • Path less Route to handle failed matches

Module 14: Immutable.js

  • What is Immutable.js?
  • Immutable collections
  • Lists
  • Maps
  • Sets

Module 17: Unit Testing

  • Understand the significance of unit testing
  • Understand unit testing jargon and tools
  • Unit testing react components with Jest
  • Unit testing react components with enzyme

Module 18: Web pack Primer

  • What is web pack
  • Why web pack
  • Install and setup web pack
  • Working with web pack configuration file
  • Working with loaders
  • Working with plugins
  • Setting up Hot Module Replacement

Module 19: Isomorphic React

  • What is server-side rendering (SSR)?
  • Why SSR
  • Working with render To String and render To Static Markup methods

Syllabus -> React JS
This syllabus is not final and can be customized as per needs/updates
IT Courses / Internship

Module 1: Introduction to Node.js

  • What is Node.js
  • Features of Node.js
  • Concept
  • Where to fit and not fit
  • Event-Driven programming style
  • What is Asynchronous

Module 2: Installation / Setup

  • Local environment setup
  • Node.js runtime
  • Download source code
  • Installation on OS
  • Verify

Module 3: Node Package Manager

  • Install module by NPM
  • Global vs Local setup
  • Update Module
  • CRUD Module

Module 4: Express Framework

  • What is Express
  • Setup Express
  • Request And Response
  • Handling Routes
  • Route Middleware
  • Objects
  • Cookies Management
  • File upload
  • HTTP methods

Module 5: Buffers and Streams

  • What is buffers and Streams
  • Benefit of Streams over buffers
  • Create / Write / Read operation on Buffers
  • Process on Buffers
  • Read / Write data by Streams
  • Pipeline
  • Chaining Stream

Module 7: REST API

  • RESTful Architecture
  • HTTP URI and Methods
  • RESTful web services
  • Expose solution as API
  • Best practice for REST API solution

Module 8: Callback

  • What is Callback
  • Benefit of Callback
  • Asynchronous communications
  • Block and Non-Blocking
  • Standard Callback pattern
  • Async Flow control Library
  • Executing in parallel

Module 9: Events

  • What is Events
  • Events types
  • Event Emitter API
  • Multiple event listeners
  • Event emitter pattern
  • Class methods
  • Event Loop
  • Blocking Event Loop
  • Escaping Event Loop

Module 10: Connecting with Database

  • Introduction of MySQL
  • Connect with MySQL
  • Introduction of MongoDB
  • Features of MongoDB
  • Connect with MongoDB
  • Defining a schema
  • Defining a Model

Module 11: External Processes and Services

  • What is processes
  • Spawning Child process
  • Create and kill processes
  • Building with HTTP Severs
  • HTTP requests
  • Secure HTTP Server

Module 12: External Processes and Services

  • Using Test Runner
  • Using Assertion Testing Module
  • Built-in Debugger
  • Console log
  • Node Inspector

Syllabus -> Node JS
This syllabus is not final and can be customized as per needs/updates
IT Courses / Internship

Module 1 : INTRODUCTION EXPRESS JS

  • The model-view-controller pattern
  • Defining Jade templates
  • Configuring Express
  • Postman configuration
  • Using REST
  • JSON Data
  • Reading POST data
  • CRUD operations
  • Adding middleware

Module 2 : EXPRESS JS WITH MONGODB AND SQLITE

  • Connecting to RDBMS and Mongodb databases
  • Performing CRUD operations
  • Module 3 : SOCKET.IO, THE FRONT-END, AND A CHAT APP

    • Getting Started
    • Adding Socket.io To Your App
    • Exploring The Front-end
    • Sending Live Data Back & Forth
    • Creating The Front-end UI
    • Showing Messages In App
    • Working With Time
    • Timestamps
    • Show Message Time In Chat App
    • Chat application Project

    Module 4 : INTRODUCTION TO TASK MANAGERS WITH UNIT TESTING

    • Working with gulp
    • Working with grunt
    • Working with unit and E2E testing

    Module 5: LEARNING EXPRESS ROUTES

    • starting a server
    • Writing your first route
    • Sending a response
    • Macthing route paths
    • Getting a single expression
    • Setting status codes
    • Macthing longer paths
    • Other HTTP methods

    Syllabus -> Express JS
    This syllabus is not final and can be customized as per needs/updates
    IT Courses / Internship

    Module 1: Introduction to NoSQL

    • What Is NoSQL?
    • Why NoSQL databases are required
    • Types of NoSQL Database
    • NoSQL vs SQL Comparison
    • ACID & BASE Property
    • CAP Theorem
    • Benefits of NoSQL databases
    • Installation
    • Start and Stop the MongoDB process

    Module 2: MongoDB Architecture

    • Document, Collection, Databases
    • JSON and BSON
    • Storage Engines
    • Read Path
    • Journaling
    • Write Path
    • Working Set
    • Capped Collection
    • Oplog collection
    • TTL Index
    • GridFS

    Module 3: CRUD Operations

    • MongoDB Data Types
    • Inserting, Update, Deleting the documents
    • Querying the documents
    • Bulk insert operation
    • Updating multiple document
    • Limiting documents
    • Filtering documents

    Module 4: Schema Design and Data modeling

    • Dynamic Schema
    • What is Data modeling?
    • RDBMS and MongoDB Data modeling difference
    • Embedding Document
    • Reference Document

    Module 5: Indexes

    • Index concepts in MongoDB
    • Types of indexes
    • Indexes and its use cases
    • Creating Indexes
    • Managing Indexes
    • Index strategies

    Module 6: Database Administration in MongoDB

    • Database status
    • Troubleshooting issues
    • Current Operations
    • Rotating log files
    • Users and Roles
    • Copy and Clone database
    • DB and Collection Stats
    • Explain plan
    • Profiling
    • Changing configuration files
    • Upgrading the database

    Module 7: MongoDB: Backup and Security

    • Concept of backups
    • mongoexport/mongoimport
    • mongodump/mongorestore
    • Oplog backups
    • LVM Backups
    • Backups using MMS/Ops Manager
    • Purpose of security
    • Authentication and authorization
    • Role based access control

    Module 8: Replication in MongoDB

    • Concept of replication
    • ReplicaSet member roles
    • Voting and Electing primary
    • Role of Oplog in replication
    • Read and Write Concern
    • Arbiter,Hidden and Delayed replica node
    • Priority settings
    • Replicaset nodes health check
    • Concept of resyncing the nodes
    • Rollbacks during failover
    • Keyfile authentication

    Module 9: MongoDB Scalability

    • Concept of Scalability
    • Sharding concept
    • Shardkey and Chunks
    • Choosing shardkey
    • Sharding components
    • Types of Sharding
    • Balanced data distribution
    • Sharded and Non-sharded collection
    • Sharded Replicaset
    • Tag aware sharding

    Module 10: MongoDB Monitoring and Other Tools

    • MMS Manager
    • Ops Manager
    • Mongo utility commands
    • Mongo developer tools
    • MongoDB Atlas
    • MongoDB client drivers

    Syllabus -> MongoDB
    This syllabus is not final and can be customized as per needs/updates
    IT Courses / Internship
     
    10000+
    20+
    50+
    25+

    Mern Stack Development Jobs in Calgary

    Enjoy the demand

    Find jobs related to Mern Stack Development in search engines (Google, Bing, Yahoo) and recruitment websites (monsterindia, placementindia, naukri, jobsNEAR.in, indeed.co.in, shine.com etc.) based in Calgary, chennai and europe countries. You can find many jobs for freshers related to the job positions in Calgary.

    • mern stack developer
    • mern stack
    • mern stack programmer
    • reach js developer
    • node js developer
    • express js developer
    • mern stack expert
    • mern stack fresher
    • full stack developer
    • mongo db

    Mern Stack Development Internship/Course Details

    Mern Stack Development internship jobs in Calgary
    Mern Stack Development Data sharding in MongoDB supports storing data across several machines to boost the performance of large-scale databases. It will store complicated structures easily, fetch the data more accurately. By the end of this hands-on intensive training course. Use Express, a lightweight HTTP server framework developed on top of Node. These operations when combined with additional options give nice results. . The training costs for developers are usually high, but when it comes to Node. Complete, updated list. React(also referred to as React. Be it web development or mobile application development, developers intimate with JavaScript can effortlessly learn ReactJS.

    Meet a Few of our Industry Experts 🚀 Your Pathway to IT Career

    Raju

    Mobile: +91 9895490866
    Location: Barasat, Online (Calgary)
    Qualification: HS

    Experience: 2 years computer hardware and networking  more..

    Mukesh

    Mobile: +91 9895490866
    Location: Uttar Pradesh, Online (Calgary)
    Qualification: Mca

    Experience: I have 10 working experience with asp net core c# and SQL server  more..

    Bhupesh

    Mobile: +91 91884 77559
    Location: mumabai, Online (Calgary)
    Qualification: BSCIT

    Experience: Have 2 years of experience with react js  more..

    Jilo

    Mobile: +91 9895490866
    Location: kochi, Online (Calgary)
    Qualification: kochi

    Experience: testing resume of kahila  more..

    Sanjay

    Mobile: +91 91884 77559
    Location: Madhya Pradesh, Online (Calgary)
    Qualification: be

    Experience: python django html css bootstarp mysql numpy pandas ml  more..

    Amol

    Mobile: +91 91884 77559
    Location: Pune, Online (Calgary)
    Qualification: MCA

    Experience: MCA post graduate looking for a software engineer role with strong command in python HTML CSS Bootstrap Django Framework and  more..

    Darshan

    Mobile: +91 91884 77559
    Location: Maharashtra, Online (Calgary)
    Qualification: Data scientist

    Experience: Data pipeline ml model web development data visualisation |   more..

    Nishma

    Mobile: +91 98474 90866
    Location: Kaduthuruthy, Online (Calgary)
    Qualification: Msc cs

    Experience: Successfully trained python django framework over a period of 6 month from futuro it solution Currently I am working at  more..

    Ashwini

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Calgary)
    Qualification: Batchler of engineering

    Experience: Software testing course done Automation testing manual testing selenium WebDriver Agile Methodology TestNG SQL Database management system etc |   more..

    Deepak

    Mobile: +91 9895490866
    Location: Delhi, Online (Calgary)
    Qualification: Diploma

    Experience: Dear Sir Madam I am writing to express my interest in the Autocad Draftsman position I have attached my resume  more..

    Samatham

    Mobile: +91 91884 77559
    Location: Telangana, Online (Calgary)
    Qualification: B-TECH (ECE)

    Experience: C programming python Oracle pl sql I am A Fresher passed out in 2022  more..

    Shubhangi

    Mobile: +91 89210 61945
    Location: Madhya Pradesh, Online (Calgary)
    Qualification: BCA

    Experience: Html CSS bootstrap javascript php  more..

    Deepanjana

    Mobile: +91 9446600368
    Location: Kolkata, Online (Calgary)
    Qualification:

    Experience: Graphic design and editing | Resume for   more..

    Sourav

    Mobile: +91 8301010866
    Location: Assam, Online (Calgary)
    Qualification: M.Tech IT

    Experience: I possess proficiency in HTML CSS JavaScript Tailwind CSS and Git with ongoing learning in React My practical experience includes  more..

    Anchal

    Mobile: +91 8301010866
    Location: Rewa Madhya Pradesh, Online (Calgary)
    Qualification: BTech

    Experience: I have good knowledge python html css c c++ and I have experience one month intershipApplication for Python Django  more..

    Smriti

    Mobile: +91 9895490866
    Location: Uttar Pradesh, Online (Calgary)
    Qualification: B.Sc.B.Ed. Integrated

    Experience: A CTET Qualified Science educator with experience as a student teacher in Jawahar Navodaya Vidyalaya During my experience i honed  more..

    Shahabas

    Mobile: +91 89210 61945
    Location: Malappuram, Online (Calgary)
    Qualification: Btech

    Experience: Html css javascript bootstrap jquerry python django framework databases mysql postgres i am a fresherApplication for Python Django  more..

    Mrunal

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Calgary)
    Qualification: B. Tech in Electronics

    Experience: Designing and executing test cases according to the Functional specifications Participated in the Test case review Performed Functionality Testing Retesting  more..

    Gaurav

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Calgary)
    Qualification: M.Sc IT

    Experience: I have 3 9 years of experience in Flutter development I have worked on 14 projects and successfully deployed 8  more..

    Sakthivel

    Mobile: +91 8301010866
    Location: Tamil Nadu, Online (Calgary)
    Qualification: M.con

    Experience: I have 3 YOE in python development   more..

    Manas

    Mobile: +91 91884 77559
    Location: Maharashtra, Online (Calgary)
    Qualification: B.tech (computer science and engineering)

    Experience: Skills: 1 Programming Languages: Proficient in C++ and JavaScript 2 Frontend Development: Skilled in HTML CSS React Redux Bootstrap Tailwind  more..

    Srijan

    Mobile: +91 8301010866
    Location: Surat, Online (Calgary)
    Qualification: BE

    Experience: Manual testing java selenium webdriver automation sdlc stlc defect bug life cycle agile waterfall testcases test scenarios MySQL Jenkins jeera  more..

    Kalieswari

    Mobile: +91 9895490866
    Location: Tamil Nadu, Online (Calgary)
    Qualification: BA English

    Experience: I am self motivater I am fresher for software testing |   more..

    Mohammad

    Mobile: +91 9895490866
    Location: Maharashtra, Online (Calgary)
    Qualification: BE

    Experience: Experience - 1 8 years Skills - C# SQL asp net MVC etc  more..

    Nidhi

    Mobile: +91 89210 61945
    Location: Kerala, Online (Calgary)
    Qualification: MA English

    Experience: 4 years of experience in the field of education in various roles like Spoken English trainer ICSE school English Facilitator  more..

    Aravind

    Mobile: +91 91884 77559
    Location: Trivandrum , Online (Calgary)
    Qualification: Bsc physics

    Experience: Skill: Python Django MySQL Git GitHub HTML CSS Bootstrap JavaScript jQuery Angular Photoshop Experience: Python Django developer intern ( one  more..

    Ramziya

    Mobile: +91 91884 77559
    Location: Kerala, Online (Calgary)
    Qualification: Degree

    Experience: Communication Poster Google ads Facebook ads Web development Typing  more..

    Surabhi

    Mobile: +91 89210 61945
    Location: Kerala, Online (Calgary)
    Qualification: BSc computer science

    Experience: Python Django HTML CSS Javascript jQuery python programming SQL SQLite Bootstrap REST APIs Angular Internship at Luminar Technolab in python  more..

    Shree

    Mobile: +91 8301010866
    Location: Uttar Pradesh, Online (Calgary)
    Qualification: Mca

    Experience: Hello ma'am sir My name is shree prakash pandey I belong to robertsganj sonbhadra I have completed MCA from integral  more..

    Suman

    Mobile: +91 8301010866
    Location: Punjab, Online (Calgary)
    Qualification: Masters in commerce

    Experience: Research and development in curriculum as per latest standard Proficient at troubleshoot sessions  more..

    mohnish

    Mobile: +91 91884 77559
    Location: Rajasthan, Online (Calgary)
    Qualification: Master of computer application

    Experience: **Skills:** - Proficient in Dart C C++ Java - Expertise in Flutter for mobile and web app development - Strong  more..

    Priyanka

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Calgary)
    Qualification: Post graduate in organic Chemistry

    Experience: Committed assistant teacher with 4 years of teaching experience skilled in classroom management assessment communication and pedagogy Known for adapting  more..

    Aneesh

    Mobile: +91 8301010866
    Location: Kerala, Online (Calgary)
    Qualification: B. Tech

    Experience: Handson experience with odoo v13 14 15 16 capable of designing developing and maintaining enterprise application   more..

    Devaki

    Mobile: +91 9895490866
    Location: Tamil Nadu, Online (Calgary)
    Qualification: Bachelor of Engineering

    Experience: Hello I have hands on experience in software testing field I had interested in psychology so currently I'm pursuing master  more..

    Audrij

    Mobile: +91 91884 77559
    Location: Assam, Online (Calgary)
    Qualification: Master's

    Experience: SimplifyPi – Data Entry Operator Dec 2023 – Present • Utilized SimplifyPI software to create and manage cases Used DrChrono  more..

    arnitha

    Mobile: +91 8301010866
    Location: Kerala, Online (Calgary)
    Qualification: Btech

    Experience: Im currently working as a Team manager in avodha And im a btech graduate also i completed a python internship  more..

    Sachin

    Mobile: +91 89210 61945
    Location: Madhya Pradesh, Online (Calgary)
    Qualification: B.Tech

    Experience: Proficient in C++ and Python programming languages Experienced in using tools like Nmap Wireshark and Hydra Familiar with both Linux  more..

    Raj

    Mobile: +91 98474 90866
    Location: Rajasthan, Online (Calgary)
    Qualification: B-Tech In Computer Science

    Experience: I possess expertise in Python HTML CSS JavaScript and React js with hands-on experience in developing web applications dynamic user  more..

    Muthu

    Mobile: +91 8301010866
    Location: Tirunelceli, Online (Calgary)
    Qualification: B. Tech

    Experience: 2 5 years in flutter   more..

    N

    Mobile: +91 91884 77559
    Location: Kerala, Online (Calgary)
    Qualification: Btech in Cybersecurity

    Experience: Python java incident response penetration testing tools Linux windows Ethical hacker Owasp  more..

    Suresh

    Mobile: +91 91884 77559
    Location: Rajasthan, Online (Calgary)
    Qualification: BCA

    Experience: Enthusiastic mobile application developer having more than 3 years of experience as Flutter as well as Native Android developer   more..

    Honey

    Mobile: +91 91884 77559
    Location: Uttar Pradesh, Online (Calgary)
    Qualification: Bachelor of science

    Experience: Html css javascript python WordPress  more..

    Mridula

    Mobile: +91 91884 77559
    Location: Kerala, Online (Calgary)
    Qualification: M.Tech

    Experience: Contributing to dynamic ventures in structural engineering architecture interior design and estimation Specializing in designing drafting quantity surveying and project  more..

    ANUSREE

    Mobile: +91 91884 77559
    Location: Kasaragod , Online (Calgary)
    Qualification: B Tech

    Experience: Manual Testing Proficiency Strong in SDLC STLC and Bug Life Cycle Knowledge on Test Plan writing reviewing and executing Test  more..

    Muhammad

    Mobile: +91 98474 90866
    Location: Thalassery , Online (Calgary)
    Qualification: BE ECE

    Experience: Done three projects with python django Blog e-commerce social media Knowledge in django rest framework Application for Python Django  more..

    Trilok

    Mobile: +91 9895490866
    Location: Chhattisgarh, Online (Calgary)
    Qualification: B.Tech.

    Experience: Flutter Firebase Payment Gateways Google Maps Push Notifications Node js mongo php MySQL |   more..

    Sajitha

    Mobile: +91 89210 61945
    Location: Kollam, Online (Calgary)
    Qualification: B.Sc. Electronics

    Experience: * Did 3 months full stack python Django Internship *Have 6 months of experience as Full Stack Python Django Web  more..

    Vinod

    Mobile: +91 89210 61945
    Location: Telangana, Online (Calgary)
    Qualification: B.com(Computer Applications)

    Experience: I have completed python fullstack course from qedge technologies and I'm done with two realtime projects |   more..

    Chandipriya

    Mobile: +91 8301010866
    Location: Andhra Pradesh, Online (Calgary)
    Qualification: Mca

    Experience: C c++ testing |   more..

    Dhanashree

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Calgary)
    Qualification: Bcs

    Experience: A Flutter developer skilled in Figma and Firebase creates responsive apps from Figma designs integrates Firebase for backend functionality and  more..

    Prayash

    Mobile: +91 8301010866
    Location: Assam, Online (Calgary)
    Qualification: B.Tech

    Experience: Python artificial intelligence and machine learning control systems pcb design  more..

    Sayana

    Mobile: +91 98474 90866
    Location: Kerala, Online (Calgary)
    Qualification: MTech

    Experience: Mannual testing Automation testing (selenium+java)  more..

    Swapnil

    Mobile: +91 89210 61945
    Location: Pune, Online (Calgary)
    Qualification: Graduate

    Experience: Html CSS javascript bootstrap jQuery wordpress react js | Application for UI UX Designer  more..

    Dhanya

    Mobile: +91 9446600368
    Location: Kerala, Online (Calgary)
    Qualification: Btech

    Experience: I have 1 6 year experience in software manual testing worked on healthcare domain My testing skills is functional testing  more..

    Yanamala

    Mobile: +91 8301010866
    Location: nellore , Online (Calgary)
    Qualification: Graduation

    Experience: Html css java script python & experience: fresher  more..

    Nipsy

    Mobile: +91 91884 77559
    Location: Kerala, Online (Calgary)
    Qualification: MCA

    Experience: Functional testing Manual testing Regression testing Unit testing Agile methodologies SDLC Project management Load testing using Locust python API Testing  more..

    Vivek

    Mobile: +91 8301010866
    Location: Uttar Pradesh, Online (Calgary)
    Qualification: 3 years of experience as a freelance content writer

    Experience: Skills: content writing copywriting graphic design seo seo writing keyboard research and analysis market research   more..

    Vaishnavi

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Calgary)
    Qualification: 12th pass and bachelor degree in graphic design

    Experience: I am a confident passionate and highly skilled graphic designer with extensive working with digital marketing media all social media  more..

    Ravindra

    Mobile: +91 91884 77559
    Location: Maharashtra, Online (Calgary)
    Qualification: BE

    Experience: Manual testing API testing  more..

    Mrudul

    Mobile: +91 9895490866
    Location: Telangana, Online (Calgary)
    Qualification: Btech

    Experience: Undergoing Full stack python course (including django)-2months experience Undergoing HTML CSS JAVASCRIPT parallel to python  more..

    Success Stories

    The enviable salary packages and track record of our previous students are the proof of our excellence. Please go through our students' reviews about our training methods and faculty and compare it to the recorded video classes that most of the other institutes offer. See for yourself how TechnoMaster is truly unique.

    Photos of Training / Internships

    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary
    Internship/projects in calgary

    Trained more than 10000+ students who trust Nestsoft TechnoMaster

    Get Your Personal Trainer