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 Denver

    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 Denver, chennai and europe countries. You can find many jobs for freshers related to the job positions in Denver.

    • 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 Denver
    Mern Stack Development e. js for developing web applications. js services are getting more popular, so that they have something new all the time. js you are ready to execute multiple actions at the same time. You will learn how to build applications backed by MongoDB and gain in-depth knowledge of REST APIs, implement testing, build applications the usage of microservices architecture, and write a real-time chat software using Socket IO. built-in scaling is a must-have feature of many organizations, as you adapt to an ever-changing market. . js or ReactJS) is a free and open source front-end JavaScript Library for building user interface or UI components. js, a server-side framework based on Google V8's runtime. key-value pairs.

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

    Digvijay

    Mobile: +91 98474 90866
    Location: Maharashtra, Online (Denver)
    Qualification: Diploma second year

    Experience: Proficient in CAD software Strong understanding of mechanical engineering principlesAttention to detail and accuracy in design workEffective communication skillsAbility to  more..

    prajakta

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Denver)
    Qualification: Btech (computer science and engineering)

    Experience: I have 2 4 years of experience in Manual testing I was working on the web based application I was  more..

    Vishwas

    Mobile: +91 9895490866
    Location: Gujarat, Online (Denver)
    Qualification: B.Tech

    Experience: I have participated in VDP programs Have significant skills related to penetration testing like web application penetration testing network penetration  more..

    Bhanu

    Mobile: +91 91884 77559
    Location: Noida, Online (Denver)
    Qualification: M.C.A

    Experience: 3 months completed internship DeBox Global IT Solutions Pvt Ltd my skills are functional Testing Integration testing unit testing system  more..

    Bhakti

    Mobile: +91 9895490866
    Location: Pune, Online (Denver)
    Qualification: BE

    Experience: 2 years experience in software testing and quality assurance experience in manual testing automation testing core javaApplication for Software Testing  more..

    Ponmeenakshi

    Mobile: +91 9446600368
    Location: Tamil Nadu, Online (Denver)
    Qualification: Bsc statistics

    Experience: I have a solid understanding of payroll processes including calculating wages deductions and benefits Throughout my career I have developed  more..

    Manikandan

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Denver)
    Qualification: BCA

    Experience: I have learned python certified and I know django framework and HTML and CSS MySQL also |   more..

    Veena

    Mobile: +91 98474 90866
    Location: Maharashtra, Online (Denver)
    Qualification: Mtech

    Experience: Skills - knowledge on appium selenium postman API ✓ Designed and executed test cases to evaluate system quality according to  more..

    Krushna

    Mobile: +91 89210 61945
    Location: Yavatma, Online (Denver)
    Qualification: B.E

    Experience: Manual testing seleniumApplication for Software Testing  more..

    lingampalli

    Mobile: +91 91884 77559
    Location: Telangana, Online (Denver)
    Qualification: Degree

    Experience: Working on various tools such as SIEM-Qradar Trend Micro FireEye Responsible for managing successful resolution of Incidents within defined Service  more..

    Preeti

    Mobile: +91 98474 90866
    Location: Telangana, Online (Denver)
    Qualification: B Ed

    Experience: During my teaching and learning journey I have extensive experience in fostering inquiry-based learning environments I design and implement lessons  more..

    Nikhil

    Mobile: +91 9895490866
    Location: Maharashtra, Online (Denver)
    Qualification: Diploma in mechanical engineering and Ethical hacking Course

    Experience: Virtualization- Hyper V ( On- Premises ) Monitoring Tool- Manage Engine Servers Installation- All server Windows And Linux DLP Monitoring  more..

    Saurabh

    Mobile: +91 8301010866
    Location: Gujarat, Online (Denver)
    Qualification: 12 pass

    Experience: Computer knowledge graphic design knowledge  more..

    Priyadharshini

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Denver)
    Qualification: MCA

    Experience: I am fresher full stack developer python  more..

    Rith

    Mobile: +91 9446600368
    Location: Mumbai, Online (Denver)
    Qualification: Completed MCA

    Experience: HTML CSS JavaScript python SQL PHP | Resume for   more..

    vivek

    Mobile: +91 89210 61945
    Location: Tamil Nadu, Online (Denver)
    Qualification: BE

    Experience: flutter dart postman github state management MVC pattern API integrations third party APIs integrations deep linking IOS develop  more..

    Harshita

    Mobile: +91 9895490866
    Location: Uttar Pradesh, Online (Denver)
    Qualification: MBA

    Experience: Hello I'm Harshita and I specialize in Manual Quality Assurance (QA) testing within the realm of software development With [2years]  more..

    Lakhan

    Mobile: +91 9895490866
    Location: Maharashtra, Online (Denver)
    Qualification: Bsc computer science

    Experience: Python django Html css javascript react bootstrap git github |   more..

    Athira

    Mobile: +91 8301010866
    Location: Tamil Nadu, Online (Denver)
    Qualification: PG

    Experience: Myself Athira KM and I work for NEWJ Malayalam the top digital entertainment firm in India which is supported by  more..

    Shaheem

    Mobile: +91 98474 90866
    Location: palakkad, Online (Denver)
    Qualification: b.com

    Experience: python django django rest mysqlApplication for Python Django  more..

    Swaminathan

    Mobile: +91 98474 90866
    Location: Tamil Nadu, Online (Denver)
    Qualification: MScIT

    Experience: C c++ Oracle SQL plsql data analyst power bi retail shop customer service python Asp VB  more..

    Shivam

    Mobile: +91 9446600368
    Location: Uttar Pradesh, Online (Denver)
    Qualification: B.Tech

    Experience: Python C++ DSA Django Flask Sql Linux 1-Python developer at upskill campus duration-one month 2-Python developer at Dabotics India duration-one  more..

    KU

    Mobile: +91 91884 77559
    Location: Haryana, Online (Denver)
    Qualification: Master's in Computer Engineering

    Experience: I am a dedicated developer with one year of hands on experience in cross platform mobile application Prior to transitioning  more..

    Sharvari

    Mobile: +91 9446600368
    Location: Maharashtra, Online (Denver)
    Qualification: BTech in civil engineering

    Experience: I have proficiency in Manual testing basic knowledge of Automation testing (selenium with java) knowledge of Api postman exposure to  more..

    Arpitha

    Mobile: +91 98474 90866
    Location: Karnataka, Online (Denver)
    Qualification: Mca

    Experience: HTML css Core java Sql Python and bootstrap Worked as a web developer at Inboundsys |   more..

    Mohammad

    Mobile: +91 89210 61945
    Location: Uttar Pradesh, Online (Denver)
    Qualification: B.tech

    Experience: Software testing |   more..

    CHIRAG

    Mobile: +91 98474 90866
    Location: Surat, Online (Denver)
    Qualification: B tech CSE

    Experience: I have 5 month intern experience in python still runningApplication for Python Django  more..

    Mohammad

    Mobile: +91 8301010866
    Location: Uttar Pradesh, Online (Denver)
    Qualification: BCA, PGDCA

    Experience: Manual Testing JIRA API testing |   more..

    Prabhrati

    Mobile: +91 8301010866
    Location: Uttar Pradesh, Online (Denver)
    Qualification: Bachelor of technology

    Experience: Dear Hiring manager I am writing to express my strong interest in the Python Developer position at Nestsoft as advertised  more..

    Kodam

    Mobile: +91 89210 61945
    Location: Hyderabad, Online (Denver)
    Qualification: Mcom fa

    Experience: Functionality testing Regression Testing retesting Blackbox testing ui testing  more..

    DP

    Mobile: +91 91884 77559
    Location: Karnataka, Online (Denver)
    Qualification: BE In computer science

    Experience: 2 7 year's of experience as Software Engineer QA Skills: Documentation test planning testcase design testcase execution bug tracking jira  more..

    Pooja

    Mobile: +91 9446600368
    Location: Chhattisgarh, Online (Denver)
    Qualification: B.Tech

    Experience: I have 2 years of software testing experience Skills- Manual Testing Regression Testing Defect Management JIRA Business Analysis SQL Communication  more..

    Akshay

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Denver)
    Qualification: Diploma in Mechanical

    Experience: Detail-oriented and experienced Scan to BIM work with a strong background in utilizing laser scanning technology and BIM software to  more..

    Amruta

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Denver)
    Qualification: BCS

    Experience: My skills are SQL Manual testing automation testing core java |   more..

    Koushal

    Mobile: +91 9446600368
    Location: West Bengal, Online (Denver)
    Qualification: Graduate

    Experience: Hi I'm Koushal Pramanik from Hooghly West Bengal As a graphic and web designer I have 8 months experience in  more..

    Rohini

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Denver)
    Qualification: Bachelor of computer application

    Experience: 1 year experience in working wordpress developer also working with Shopify WIX and woccomers platform Woking with live projects Communicate  more..

    Aramudan

    Mobile: +91 89210 61945
    Location: Tamil Nadu, Online (Denver)
    Qualification: B.Tech(IT)

    Experience: I have 2 5 years of experience in software testing in manual Functional testing smoke testing regression testing testcase design  more..

    Hemanath

    Mobile: +91 98474 90866
    Location: Tiruppur, Online (Denver)
    Qualification: BE

    Experience: 10 months work experience in Kone elevator private limited as django developer Django Python Html Css Js Git Bootstrap Application  more..

    Pawankumar

    Mobile: +91 9446600368
    Location: Pune, Online (Denver)
    Qualification: B.E

    Experience: I have knowledge of AUTOMATION testing MANUAL testing API testing DATABASE testing I have knowledge of Eclipse IDE GitHub Jira  more..

    JEENA

    Mobile: +91 8301010866
    Location: Kerala, Online (Denver)
    Qualification: BA in English and B.ed in English

    Experience: *Teaching Experience:* - 2 years of tution teaching experience - Taught upper primary and High school students - Subjects taught:  more..

    megha

    Mobile: +91 98474 90866
    Location: Himachal Pradesh, Online (Denver)
    Qualification: btech

    Experience: python django flask react js html css JavaScript  more..

    Sweta

    Mobile: +91 9895490866
    Location: Madhya Pradesh, Online (Denver)
    Qualification: MCA

    Experience: I am having handon manual testing mobile application testing test cases writing   more..

    sneha

    Mobile: +91 8301010866
    Location: Kerala, Online (Denver)
    Qualification: Bsc computer science

    Experience: python-django javascript css-bootstrap wordpress  more..

    Muhammed

    Mobile: +91 98474 90866
    Location: Wayanad, Online (Denver)
    Qualification: 12 pass

    Experience: Dart flutter UI UX rest api firebase java c 7 month intern  more..

    Jyotika

    Mobile: +91 9895490866
    Location: Delhi, Online (Denver)
    Qualification: B.Sc (H) Computer Science

    Experience: For the past 5 months I have been working as a UI UX Intern at Grey to Yellow and then  more..

    ANU

    Mobile: +91 91884 77559
    Location: Kerala, Online (Denver)
    Qualification: MTECH

    Experience: Software Development Life Cycle (SDLC) Software Testing Life Cycle (STLC) Bug Life Cycle (BLC) Web Application testing Mobile Application testing  more..

    Sanjay

    Mobile: +91 91884 77559
    Location: Andhra Pradesh, Online (Denver)
    Qualification: Diploma in mechanical

    Experience: 2d3d drafling surface hardning and sheet metal design |   more..

    Saili

    Mobile: +91 9446600368
    Location: Navi Mumbai, Online (Denver)
    Qualification: Bsc IT

    Experience: I have 2 5 years of experience in software testing and a strong background in manual testing I am confident  more..

    Kaushita

    Mobile: +91 98474 90866
    Location: surat, Online (Denver)
    Qualification: BSc IT

    Experience: 3+ years of experience as a Software Engineer with fully focused on all requirements Having skills in Internal software  more..

    Keshav

    Mobile: +91 91884 77559
    Location: Punjab, Online (Denver)
    Qualification: MCA

    Experience: My overall experience is 5 8 year and in flutter having experience near about 2 year |   more..

    Prakhar

    Mobile: +91 9446600368
    Location: Mandsaur, Online (Denver)
    Qualification: Graphic Designer

    Experience: Dear sir ma'am I am writing to express my enthusiastic interest in the Graphic Designer position at your company With  more..

    Kashvi

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Denver)
    Qualification: Completed bachelor's

    Experience: We work as an team and also as an freelancer We have many of experience in freelance of different fields  more..

    Afeefa

    Mobile: +91 98474 90866
    Location: mannarkkad, Online (Denver)
    Qualification: MCA

    Experience: I currently working mern stack trainer with developer in Softroniics I completerd 4 month of internship course in mearn stack  more..

    Ayan

    Mobile: +91 8301010866
    Location: West Bengal, Online (Denver)
    Qualification: Bca

    Experience: Provide technical support for hardware software and networking issues   more..

    Ajay

    Mobile: +91 9446600368
    Location: Rajasthan, Online (Denver)
    Qualification: Bsc 2nd year

    Experience: Photo editing video editor post design thumbnail all graphic related work  more..

    Madhuri

    Mobile: +91 9895490866
    Location: Andhra Pradesh, Online (Denver)
    Qualification: B tech

    Experience: I have knowledge about mainframe technology s coboal JCL DB2 ok vasam and manual testing agile methodologies  more..

    Ashwini

    Mobile: +91 9446600368
    Location: India, Online (Denver)
    Qualification: MTECH CSE

    Experience: python data science artificial intelligence machine learning| Application for Python Data Science Machine Learning Artificial Intelligence  more..

    Amrutha

    Mobile: +91 9895490866
    Location: Kerala, Online (Denver)
    Qualification: MBA

    Experience: I have 1 year experience as Business development executive in an leading Edtec company in Kerala Also done a role  more..

    Amit

    Mobile: +91 98474 90866
    Location: Noida, Online (Denver)
    Qualification: B.sc

    Experience: Manual testing sdlc stlc writing test cases automation tool quality assurance | Resume for   more..

    SAI

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Denver)
    Qualification: 3rd year diploma in mechanical

    Experience: I'm a graphic designer with over 5 years of experience in the industry I'm a graphic designer who specializes in  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 denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver
    Internship/projects in denver

    Trained more than 10000+ students who trust Nestsoft TechnoMaster

    Get Your Personal Trainer