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 Launceston

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

    • 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 Launceston
    Mern Stack Development js for developing web applications. Complete, updated list. It isn't a surprise to say that React has gathered a lot of fashionability over the several times of its existence and that's gonna be in the eye of everyone for some other time. js services are getting more popular, so that they have something new all the time. e. built-in scaling is a must-have feature of many organizations, as you adapt to an ever-changing market. Be it web development or mobile application development, developers intimate with JavaScript can effortlessly learn ReactJS. The training costs for developers are usually high, but when it comes to Node. js are easy to learn. Data sharding in MongoDB supports storing data across several machines to boost the performance of large-scale databases.

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

    Anjali

    Mobile: +91 9895490866
    Location: Maharashtra, Online (Launceston)
    Qualification: BTech

    Experience: Manual testing html css mx excel opps data entry |   more..

    Vashu

    Mobile: +91 89210 61945
    Location: Gwalior, Online (Launceston)
    Qualification: BCA

    Experience: I have more than 1 6 years of experience and also know automation testing There are some testing skills I  more..

    Jhansigali

    Mobile: +91 8301010866
    Location: Andhra Pradesh, Online (Launceston)
    Qualification: BTech

    Experience: Web development Python Core and Advance  more..

    Hriday

    Mobile: +91 98474 90866
    Location: Assam, Online (Launceston)
    Qualification: MCA

    Experience: I am a highly skilled Full Stack Developer with over 3 years of experience in software design development and deployment  more..

    Man

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Launceston)
    Qualification: Bsc IT

    Experience: In my current role as a Full Stack Python Developer I handle both backend and frontend development On the backend  more..

    Madhu

    Mobile: +91 91884 77559
    Location: Telangana, Online (Launceston)
    Qualification: bsc

    Experience: Over all 3 Years of experience 3 years in Graphic Designing • Proficient in Adobe Creative Suite (Photoshop Illustrator Coral  more..

    Sowmiya

    Mobile: +91 9895490866
    Location: Tamil Nadu, Online (Launceston)
    Qualification: B.E(EEE)

    Experience: I have knowledge on manual testing and basics of Java Almost I know about selenium and automation testing  more..

    Sivasankari

    Mobile: +91 9446600368
    Location: Tamil Nadu, Online (Launceston)
    Qualification: B.Tech (Information Technology)

    Experience: 1)Document Preparation 2)Web and Mobile app testing 3) Figma Design Preparation 4) Requirements analysis  more..

    Kishore

    Mobile: +91 89210 61945
    Location: Tamil Nadu, Online (Launceston)
    Qualification: Bachelor

    Experience: Python django SQL react js javascript  more..

    Priyanka

    Mobile: +91 98474 90866
    Location: Karnataka, Online (Launceston)
    Qualification: B-Arch

    Experience: As an Architect with extensive experience in AutoCAD I offer in-depth knowledge of drafting design and architectural visualization My background  more..

    Snehal

    Mobile: +91 9446600368
    Location: Maharashtra, Online (Launceston)
    Qualification: Civil Engineer, Interior designer

    Experience: I have experience in civil as well as interior design Currently working as freelancers Well versed in autocad Can give  more..

    Payal

    Mobile: +91 8301010866
    Location: sonipat, Online (Launceston)
    Qualification: b.tech

    Experience: Good knowledge and experience in the field of seo guest posting  more..

    Nithish

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Launceston)
    Qualification: BCA Computer Application

    Experience: I am fresher I have completed Manual testing and java course So i am elgilble for software testing job   more..

    Yogesh

    Mobile: +91 91884 77559
    Location: Madhya Pradesh, Online (Launceston)
    Qualification: B-Tech

    Experience: I complete a one month internship in freaky diode and also i have good knowledge of python and Django  more..

    Akshay

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Launceston)
    Qualification: B.E

    Experience: I have Total 1 9 Year of Experience and Relavevant Experience is 1 year in Salesforce I have good knowledge  more..

    Yuvasri

    Mobile: +91 8301010866
    Location: Tamil Nadu, Online (Launceston)
    Qualification: B.tech IT

    Experience: I'm Yuvasri writing to apply for a reason job opening for the position of ‘software testing’ The position and responsibilities  more..

    mohd

    Mobile: +91 9446600368
    Location: Uttar Pradesh, Online (Launceston)
    Qualification: B.tech

    Experience: Python full-stack developer django MySQL React javascript  more..

    Hadiya

    Mobile: +91 98474 90866
    Location: Surat, Online (Launceston)
    Qualification: Bca

    Experience: Front end developer  more..

    Sukanya

    Mobile: +91 9446600368
    Location: Kollam , Online (Launceston)
    Qualification: Msc CS

    Experience: C c++ php HTML MySQLApplication for Software Testing  more..

    Parul

    Mobile: +91 89210 61945
    Location: Rajasthan, Online (Launceston)
    Qualification: Master of science in physics

    Experience: Strong origination skills good communication skills analytical thinking continuous professional development  more..

    Baljeet

    Mobile: +91 91884 77559
    Location: Punjab, Online (Launceston)
    Qualification: graduation

    Experience: I am a dedicated and creative graphic designer with 4 years of experience in transforming ideas into visually striking designs  more..

    Anuj

    Mobile: +91 89210 61945
    Location: MUZAFFARNAGAR, Online (Launceston)
    Qualification: M. Tech

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

    SIDHARTH

    Mobile: +91 98474 90866
    Location: Kerala, Online (Launceston)
    Qualification: Btech CSE

    Experience: I have good skills in Elementor Pro I have been working as converting figma file to wordpress website My works:  more..

    ANOSH

    Mobile: +91 9895490866
    Location: guruvayoor, Online (Launceston)
    Qualification: Bscinformation security and digital forensic

    Experience: C programming Networking Linux N map Metasploit Framework operating system analysis HTML Css python VScodeApplication for Ethical Hacking  more..

    Anupama

    Mobile: +91 98474 90866
    Location: Kerala, Online (Launceston)
    Qualification: Post Graduate

    Experience: Basic compuet knowledge including excel word PPT Basics of Python programming language  more..

    Sufiya

    Mobile: +91 9446600368
    Location: Bangalore , Online (Launceston)
    Qualification: B.com

    Experience: Logo posters video editing website design in canva and wix   more..

    Fiyarlin

    Mobile: +91 9446600368
    Location: Karnataka, Online (Launceston)
    Qualification: BE

    Experience: During my time at Christ The King Engineering College I developed a solid foundation in Python C++ programming MySQL and  more..

    Harpreet

    Mobile: +91 9446600368
    Location: Punjab, Online (Launceston)
    Qualification: Bachelor of information technology

    Experience: Hello! I m Harpreet kaur I have completed my graduation in bachelor of information technology from Bbk dav college for  more..

    yash

    Mobile: +91 89210 61945
    Location: Rajasthan, Online (Launceston)
    Qualification: MCA

    Experience: html css javascripts python django  more..

    vivek

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Launceston)
    Qualification: BE

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

    Nikhil

    Mobile: +91 8301010866
    Location: Agra, Online (Launceston)
    Qualification: B. Com and ccna

    Experience: I have more than 5 years of experience in IT I done ccna   more..

    Arvind

    Mobile: +91 91884 77559
    Location: Uttar Pradesh, Online (Launceston)
    Qualification: Degree in industrial engineering

    Experience: Work as product development engineer  more..

    Preethija

    Mobile: +91 98474 90866
    Location: Tamil Nadu, Online (Launceston)
    Qualification: Quality engineering assurance

    Experience: As a functional tester i have 2 8 years on the activity below 1) Prepared Test script with appropriate knowledge  more..

    karuppaiah

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Launceston)
    Qualification: ITI

    Experience: auto cad drawing master cam design software   more..

    Niveditha

    Mobile: +91 9446600368
    Location: Karnataka, Online (Launceston)
    Qualification: Completed 12, doing my bachelors

    Experience: I have good communication skills and can communicate effectively with children Working in an NGO teaching children and doing community  more..

    Safikul

    Mobile: +91 91884 77559
    Location: Maharashtra, Online (Launceston)
    Qualification: Btech

    Experience: I have knowledge on sql and manual testing |   more..

    Chhayaka

    Mobile: +91 89210 61945
    Location: Gujarat, Online (Launceston)
    Qualification: MCA,pgdca

    Experience: C php asp python java html  more..

    Vaidhegi

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Launceston)
    Qualification: B.Sc.,Information Technology

    Experience: Skilled Python Developer with one year of experience in developing and maintaining web applications using Django Flask and MySQL Adept  more..

    Pujarani

    Mobile: +91 89210 61945
    Location: Odisha, Online (Launceston)
    Qualification: Master of Computer Application

    Experience: Dear Sir Mam I am writing to express my interest in the Python developer I have completed 6 months as  more..

    Akshay

    Mobile: +91 98474 90866
    Location: Nagpur, Online (Launceston)
    Qualification: B.E Mechanical Engineer.

    Experience: Manual testing selenium automation testing mobile application testing jira GitHub project management tools SQL | Resume for Application for Software  more..

    Snehal

    Mobile: +91 9446600368
    Location: Maharashtra, Online (Launceston)
    Qualification: BE computer Engineering

    Experience: Testing development teaching  more..

    Mrunal

    Mobile: +91 9446600368
    Location: Maharashtra, Online (Launceston)
    Qualification: MBA

    Experience: Skilled in digital marketing SEO PPC social media ads graphic design video marketing and email marketing Experienced in cross-selling market  more..

    Puja

    Mobile: +91 89210 61945
    Location: Haryana, Online (Launceston)
    Qualification: Master degree

    Experience: Web Application security Mobile Application Security Programming language: Python Redhat system Administrator Network Penetration testing Vulnerability Analysis Malware Threats and  more..

    Sangamithra

    Mobile: +91 9446600368
    Location: Tamil Nadu, Online (Launceston)
    Qualification: M.Sc Physics

    Experience: Time Management Communication Fast Learner Technical Skill- Python Programming Done a internship at IIA Bangalore I have to collect data  more..

    Praful

    Mobile: +91 89210 61945
    Location: Gujarat, Online (Launceston)
    Qualification: BE / IT

    Experience: Dart: 3 years Flutter ( android ios web ) : 3 years Java: 5 years Kotlin: 3 years Android: 5  more..

    Venkateswara

    Mobile: +91 89210 61945
    Location: Hyderabad, Online (Launceston)
    Qualification: Ph.D

    Experience: Skills Python ML Deeplearning NLP Timeseries ML related statistics probability theory and Linear algebra python data science artificial intelligence machine  more..

    Jahanvi

    Mobile: +91 89210 61945
    Location: Uttar Pradesh, Online (Launceston)
    Qualification: bsc(computer)

    Experience: Fluent english python problems solving communication Punjabi language  more..

    Surya

    Mobile: +91 8301010866
    Location: Chennai, Online (Launceston)
    Qualification: BE. Mechanical Engineering

    Experience: • Good understanding of the SDLC STLC Waterfall & Agile Methodologies • Experience in Automation Tools- Selenium framework & Playwright  more..

    K.RAKHI

    Mobile: +91 8301010866
    Location: Ernakulam, Online (Launceston)
    Qualification: BTECH

    Experience: Manual testting Automation-Selenium testing postman Agile technology Jira(basic concepts) Html Css Bootstrap  more..

    ARCHANA

    Mobile: +91 9895490866
    Location: Ernakulam, Online (Launceston)
    Qualification: Btech ECE

    Experience: Manual testing selenium Jmeter   more..

    Balagurunathan

    Mobile: +91 9895490866
    Location: Tamil Nadu, Online (Launceston)
    Qualification: B. Com(CA)

    Experience: Figma Html 5 Css Wireframing prototype Web design Responsive design JS Mobile design etc  more..

    Siddharth

    Mobile: +91 91884 77559
    Location: Kerala, Online (Launceston)
    Qualification: Msc Microbiology

    Experience: 4 years of teaching experience in various coaching centre across Kerala and life skills development trainee  more..

    Sridevi

    Mobile: +91 9895490866
    Location: Puducherry, Online (Launceston)
    Qualification: B.A English Literature

    Experience: Iam a graphic designer expertise in various design software like Adobe Photoshop Illustrator and InDesign I have a strong understanding  more..

    Karthik

    Mobile: +91 8301010866
    Location: Cochin, Online (Launceston)
    Qualification: BE

    Experience: Dear Hiring Manager Dear HR Team I am writing to express my interest in the Python Developer vacancy With my  more..

    Alan

    Mobile: +91 89210 61945
    Location: Tamil Nadu, Online (Launceston)
    Qualification: B.E CSE

    Experience: Excel Python C programming HTML CSS SQL MS office Team work Multi tasking Organizing ability Communication  more..

    Nandita

    Mobile: +91 91884 77559
    Location: Rajkot, Online (Launceston)
    Qualification: Bachelor's of Computer Engineering

    Experience: I am Nandita Mehta computer engineering graduate having 2 5 years of web development experience I am having experience and  more..

    Ratna

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Launceston)
    Qualification: BE

    Experience: Respected Sir Madam I am interested in applying for the post of Software Test Engineer I could make a significant  more..

    Vasudha

    Mobile: +91 9895490866
    Location: Uttar Pradesh, Online (Launceston)
    Qualification: M. A. In applied economics

    Experience: I have approximately 4 to 5 years of experience in teaching tutions Besides this I am quite experienced with cbse  more..

    Amit

    Mobile: +91 89210 61945
    Location: Uttar Pradesh, Online (Launceston)
    Qualification: Btech (Computer Science Engineering)

    Experience: I learn web developement and I have done training on Full Stack Development on python with django I make a  more..

    Sheetal

    Mobile: +91 89210 61945
    Location: Karnataka, Online (Launceston)
    Qualification: MCA

    Experience: I have over two years of experience working with Python Django and SQL during which I have developed a strong  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 launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston
    Internship/projects in launceston

    Trained more than 10000+ students who trust Nestsoft TechnoMaster

    Get Your Personal Trainer