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 Drogheda

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

    • 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 Drogheda
    Mern Stack Development It is nice for creating traffic on your website. React JS is formed via means of Facebook and is the most efficient solution for front-end developers of mobile and web apps. js for developing web applications. Do you need to learn the Node. js concepts in an easy manner? Enrolling the Node. js services are getting more popular, so that they have something new all the time. How is it achievable that a simple library has gotten so popular? You may have caught on to ReactJS before, seeing a lot of people talking about it, a lot of people using it, and a bunch of products made by this technology. Node. All the info is kept in JSON format, i. 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

    Abin

    Mobile: +91 8301010866
    Location: Kerala , Online (Drogheda)
    Qualification: High school

    Experience: Python-Django fastapi flask Javascript-react js SOL- PostgreSQL MySql NoSql - mongodb Application for Python Django  more..

    Surya

    Mobile: +91 89210 61945
    Location: Lucknow, Online (Drogheda)
    Qualification: MCA

    Experience: Manual testing oracle SQL python | Resume for   more..

    Sagar

    Mobile: +91 8301010866
    Location: Uttar Pradesh, Online (Drogheda)
    Qualification: BTech

    Experience: I am fresher completed my bachelors in 2024 I have personal experience in python django flask react html css js  more..

    Mohith

    Mobile: +91 98474 90866
    Location: Karnataka, Online (Drogheda)
    Qualification: Bachelor of Computer Application

    Experience: As a Flutter Developer intern I am gaining hands-on experience in developing cross-platform mobile applications using Flutter Collaborating with experienced  more..

    Pooja

    Mobile: +91 91884 77559
    Location: Delhi, Online (Drogheda)
    Qualification: 3years of Diploma in Architecture

    Experience: 9+ yrs exp in AutoCAD architectural drafting hotel millwork designs furniture shop drawings and interior design Proficient in creating precise  more..

    Parimala

    Mobile: +91 98474 90866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: Mca

    Experience: C++ Java manual testing  more..

    S.

    Mobile: +91 9446600368
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: BCA

    Experience: Manual testing automation testing |   more..

    Vishwam

    Mobile: +91 98474 90866
    Location: Rajasthan, Online (Drogheda)
    Qualification: B.Tech

    Experience: python Django React SQL Kafka NodeJs Machine learning PowerBI Html CSS Javascript |   more..

    Nisha

    Mobile: +91 9446600368
    Location: Kerala, Online (Drogheda)
    Qualification: MCA

    Experience: Experienced Java developer at TCS specializing in production support for Banking domain Transitioned to a Selenium Automation Test Engineer after  more..

    Kanimozhi

    Mobile: +91 98474 90866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: B.Tech

    Experience: I will create pages website pages using elementor divi builder in wordpress  more..

    Resmi

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

    Experience: WordPress python php asp net C  more..

    Sahana

    Mobile: +91 9446600368
    Location: Karnataka, Online (Drogheda)
    Qualification: BCA

    Experience: I am skilled with Java and good knowledge of web programming  more..

    Rashfeena

    Mobile: +91 91884 77559
    Location: Edathanattukkara, Online (Drogheda)
    Qualification: MCA

    Experience: Skills-Flutter Dart firebase Api integration xampp html css Javascript jquery Experience - junior flutter developer @soltom technology solution  more..

    Subin

    Mobile: +91 91884 77559
    Location: Kochi, Online (Drogheda)
    Qualification: Degree

    Experience: Hi My name is subin sebastian and iam aspiring react js developer who is currently enrolled in entri's mern full  more..

    Priyanka

    Mobile: +91 89210 61945
    Location: Maharashtra, Online (Drogheda)
    Qualification: MBA

    Experience: I am experienced with 2 10 years as change coordinator in wipro limited I have done internship in manual testing  more..

    Mohd

    Mobile: +91 91884 77559
    Location: Ghaziabad , Online (Drogheda)
    Qualification: MCA

    Experience: Good skills of Django and python opps concepts and also front end like - HTML CSS JAVASCRIPT BOOTSTRAP Application for  more..

    srikanth

    Mobile: +91 9895490866
    Location: Telangana, Online (Drogheda)
    Qualification: B.E

    Experience: front end : 8 months PHP : 1 year python : 1 5 months  more..

    Prachi

    Mobile: +91 91884 77559
    Location: Bengaluru, Online (Drogheda)
    Qualification: B.E Computer Science

    Experience: My name is Prachi and I am a software engineer by profession having 10 years of experience as a developer  more..

    Savitri

    Mobile: +91 91884 77559
    Location: Karnataka, Online (Drogheda)
    Qualification: M.SC IT

    Experience: I am Good in manual testing VBA macro Power BI SQL and I am learning automation testing as well   more..

    Ashutosh

    Mobile: +91 8301010866
    Location: Pune, Online (Drogheda)
    Qualification: B.tech

    Experience: I have done python developer course certificate Skill in python Django HTML CSS technologyApplication for Python Django  more..

    Vasamsetti

    Mobile: +91 9446600368
    Location: Andhra Pradesh, Online (Drogheda)
    Qualification: B pharm pursing

    Experience: I was good at typing and I learn python Once I get good with the work I'm doing welll |  more..

    Swarnapriya

    Mobile: +91 89210 61945
    Location: Odisha, Online (Drogheda)
    Qualification: Btech

    Experience: Manual testing 2 Api integration testing 3 Functional testing  more..

    Khan

    Mobile: +91 91884 77559
    Location: Thane Maharashtra , Online (Drogheda)
    Qualification: BSCIT

    Experience: Good knowledge in python Programming Core knowledge in SQL Application for Python Django  more..

    NIKHIL

    Mobile: +91 91884 77559
    Location: Rajasthan, Online (Drogheda)
    Qualification: Master's in Computer Application

    Experience: Created project in Python and Django Framework and know the multiple programming language like C and C++ having the skillful  more..

    Harshika

    Mobile: +91 91884 77559
    Location: Kerala, Online (Drogheda)
    Qualification: BCA (CT&ISM)

    Experience: I have done a diploma in cyber security which offers certifications in CE CST CSA I am waiting for my  more..

    farahan

    Mobile: +91 8301010866
    Location: prayagraj, Online (Drogheda)
    Qualification: 12th

    Experience: seo smm Google Ads   more..

    M.satheeshkumar

    Mobile: +91 98474 90866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: BE

    Experience: Hi I'm currently on the lookout for opportunities in the flutter development field i have 1year 3months Experience in Flutter  more..

    Mohit

    Mobile: +91 9895490866
    Location: Maharashtra, Online (Drogheda)
    Qualification: B-Tech

    Experience: Aws networking core Java git GitHub jira sdlc A B testing unit testing software testing ui ux   more..

    Nishant

    Mobile: +91 9446600368
    Location: Rajasthan, Online (Drogheda)
    Qualification: Graduation

    Experience: Software testing QA Manual testing Regression Testing Mobile Testing Web Testing  more..

    Shyni

    Mobile: +91 9895490866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: BCA

    Experience: I have 5 year's of experience in designing field and I can create user interface design web and mobile application  more..

    Amit

    Mobile: +91 91884 77559
    Location: Delhi, Online (Drogheda)
    Qualification: Btech

    Experience: Automation testing Selenium Manual testing Api testing Java SQL Jira |   more..

    Praseeesh

    Mobile: +91 8301010866
    Location: Kerala, Online (Drogheda)
    Qualification: plus two

    Experience: Results-oriented Python Django Developer with extensive experience in building scalable web applications and optimizing backend performance Proficient in leveraging Django's  more..

    Jeswanth

    Mobile: +91 9895490866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: MCA

    Experience: HTML CSS JavaScript Django Python Mysql Msoffice bootstrap(I have 9 months experience in Python full stack development)  more..

    Pradeep

    Mobile: +91 8301010866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: Bsc computer science

    Experience: Java script HTML c programming c++ | Resume for IT Counselor (Work from Home) Hindi Tamil Malayalam  more..

    Vignesh

    Mobile: +91 98474 90866
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: Diploma in Computer Science

    Experience: Dynamic and innovative Graphic Designer professional with 5+ years of hands-on experience of designing top notch designs for respected global  more..

    Amit

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

    Experience: I have 4 4 year experience in manual testing |   more..

    Gouri

    Mobile: +91 91884 77559
    Location: Maharashtra, Online (Drogheda)
    Qualification: Master of Computer Applications MCA

    Experience: Python programming Flask MySql Sqlite net  more..

    Vipul

    Mobile: +91 89210 61945
    Location: india, Online (Drogheda)
    Qualification: Bca in progress

    Experience: seo smm email marketing web designing account managing all over digital marketing projects 6 month experience  more..

    Shrinidhi

    Mobile: +91 91884 77559
    Location: Karnataka, Online (Drogheda)
    Qualification: BCA

    Experience: experience in testing skills are manual testing regression testing functional testing  more..

    Prithviraj

    Mobile: +91 89210 61945
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: MBA

    Experience: Experience: 1 Skills: 1 User centre design 2 User flow 3 Mockup 4 Wireframe 5 Problem solving 6 Mobile and  more..

    Vinayak

    Mobile: +91 89210 61945
    Location: Ernakulam , Online (Drogheda)
    Qualification: Master of computer applications

    Experience: Php Java python c sql  more..

    Subhasish

    Mobile: +91 9446600368
    Location: Burdwan, West Bengal, Online (Drogheda)
    Qualification: M.sc(Math)

    Experience: Laravel Codeigniter php mysql  more..

    Srinivasan

    Mobile: +91 9895490866
    Location: Karnataka, Online (Drogheda)
    Qualification: Msc

    Experience: I have knowledge in C cpp Java python html css php  more..

    Vishwanath

    Mobile: +91 98474 90866
    Location: Maharashtra, Online (Drogheda)
    Qualification: Graduate

    Experience: Manual testing Automation testing Functional testing Smoke Testing Regression testing Sanity Testing Test case execution Writing Test cases Report Bug  more..

    Shivanshu

    Mobile: +91 91884 77559
    Location: Uttar Pradesh, Online (Drogheda)
    Qualification: Bachelor's of computer applications

    Experience: Proficient in basics of programming languages (as per academic course) Strong interpersonal and communication skills Positive attitude and ability to  more..

    Mohammad

    Mobile: +91 89210 61945
    Location: Uttar Pradesh, Online (Drogheda)
    Qualification: Bachelor of Technology in Computer Scinece

    Experience: I am a skilled developer with expertise in Python Django SQL and many other skills My technical skill set allows  more..

    Bhagyesh

    Mobile: +91 89210 61945
    Location: Surat, Online (Drogheda)
    Qualification: M.C.A

    Experience: Manual testing and bug reporting | Resume for   more..

    Akshay

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

    Experience: 3 years (automation + manual testing) Jira Testng maven jenkins selenium java agile |   more..

    Antony

    Mobile: +91 91884 77559
    Location: Tamil Nadu, Online (Drogheda)
    Qualification: B.E Mechanical

    Experience: During 6- months internship on software testing at srishti Innovative at techno park My skill set manual testing automation testing  more..

    Mukul

    Mobile: +91 9895490866
    Location: Varanasi, Online (Drogheda)
    Qualification: MCA

    Experience: I'am a dedicated and detail-oriented manual tester with 1 6 years of experience in software testing and quality assurance I'am  more..

    Arpit

    Mobile: +91 91884 77559
    Location: Noida, Online (Drogheda)
    Qualification: Mca

    Experience: 6 months experience as django developer Application for Python Django  more..

    Kajal

    Mobile: +91 98474 90866
    Location: Madhya Pradesh, Online (Drogheda)
    Qualification: M.tech

    Experience: I have 1 5 years experienced in manual testing Now I'm doing jspiders Java full stack course skills- Java JDBC  more..

    Ashly

    Mobile: +91 9895490866
    Location: Rajakumary Idukki , Online (Drogheda)
    Qualification: Bsc. Computer Science

    Experience: Internship experience in master python Application for Python Django  more..

    Juee

    Mobile: +91 8301010866
    Location: Maharashtra, Online (Drogheda)
    Qualification: ME

    Experience: I have total 2 6 years of experience in the Software testing field Hands on experience on the Functional testing  more..

    Soumick

    Mobile: +91 91884 77559
    Location: West Bengal, Online (Drogheda)
    Qualification: 12+

    Experience: Graphic design powerpoint design branding social media graphics video editing infographic brochure webpage design ui design  more..

    Samruddhi

    Mobile: +91 9895490866
    Location: Maharashtra, Online (Drogheda)
    Qualification: 12 pass

    Experience: I am a graphic designer and I have 2 years of experience in graphic designer and I am also a  more..

    abhishek

    Mobile: +91 9895490866
    Location: Bihar, Online (Drogheda)
    Qualification: B.sc

    Experience: I did CCNA cloud practitioner AWS Linux operating system and knowledge of python programming language  more..

    Ankita

    Mobile: +91 9446600368
    Location: Maharashtra, Online (Drogheda)
    Qualification: BE

    Experience: Sdlc stlc regression testing agile functional testing black box testing white box testing jira bugzila |   more..

    Noushida

    Mobile: +91 9446600368
    Location: Kerala, Online (Drogheda)
    Qualification: BCA

    Experience: Dear Sir Ma’am My name is Noushida I am writing this letter to express my interest in the Flutter Developer  more..

    Rubina

    Mobile: +91 98474 90866
    Location: Alappuzha, Online (Drogheda)
    Qualification: Btech

    Experience: java python JUnit5 SQL HTML SEO AWS  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 drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda
    Internship/projects in drogheda

    Trained more than 10000+ students who trust Nestsoft TechnoMaster

    Get Your Personal Trainer