Full Stack Web Development – MERN Stack
Nature of Course: Theory + Practical
Total Hours per Day: 2 Hours
Course Duration: 11 Weeks
Course Summary
HTML and CSS, browser programming (using JavaScript, jQuery, Angular,
or Vue), and server programming (using PHP, ASP, Python, or Node) are all
covered in this course to help you become a full stack web developer.
Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to
have finished the module:
1. Has attended 90% of all classes held.
2. Has received an average of 80% on all assignments
3. Has received an average of 60% in assessments.
4. The tutor believes the student has grasped all of the concepts and is
ready to go on to the second module.
Required Text Books
1. Vasan Subramanian, “Pro MERN Stack”, 1st Edition, Apress.
2. Shama Hoque, “Full-Stack React Projects”, Packt.
3. Greg Lim, “Beginning MERN Stack”, Greg Lim.
Prerequisites
• Basic knowledge about programming, bits/bytes, procedures, classes,
computer architecture, etc. If you just have a theoretical knowledge
that is perfectly okay but you should have strong convictions on what
programming is, and what you hope to achieve from this class.
• Willing and eager to spend at least 10-20 hours (varying from student-
to-student) per week outside of the training class to self-study and
practice.
• If you are only interested in theory and have no interest/patience in
spending at least 10 hours every week throughout the duration of the
course, then this course might not be for you.
• If you have absolutely no idea about programming or do not see
yourself doing programming in the next six -odd months, then this
class may not be for you.
Course Details
WEEK1
MERN STACK DEVELOPMENT INTRODUCTION
WEEK 2
ENVIRONMENT SETUP
• IDE
• Command Line
• Git/GitHub Workflow
• Postman
• Yarn/NPM
WEEK 3
JAVASCRIPT – BASICS
• Data Types
• Variables and Constant
• Operators
• Conditionals, Loop
• Functions and Closure
• Array and Objects
• Inbuilt Methods
• Prototypes (Prototype Based Inheritance)
• ES5 and ES6 Standards
Week 4
NODEJS
• Introduction to NodeJS
• Node Package Manager (NPM)
• Node Modules
• Node CLI
• Global Object
• Creating HTTP Server with NodeJS
• Working on Core Node API
• Asynchronous and Event Loop in NodeJS
WEEK 5
NODEJS FRAMEWORK – EXPRESSJS
• Introduction to Frameworks and Express
• The Model-View-Controller Pattern in ExpressJS
• Middlewares
• Templating Engines (PUG, Handlebars)
• Routing
• HTTP Protocol
• HTTP Request Object
• HTTP Response Object
• User Authentication using JWT (JSON Web Token)
• Garbage Collection and Error Handling
WEEK 6 & 7
MONGODB
• Introduction to Database and Existing Database.
• Understanding NoSQL (Schema Less Database).
• Introduction to MongoDB (Collection and Documents)
• CRUD Operations using Shell Commands.
• Using MongoDB Native Driver with Node.
• Database Modeling using ODM.
• Using RoboMongo (UI Based Database System)
• Update, Insert, Delete and Upsert Documents.
• Aggregation in MongoDB
• Map Reduce
WEEK 8
REST API
• Introduction to API
• Introduction to REST Architecture
• Building APIs with ExpressJS
• Using MongoDB as Data Store in Express App with Mongoose
WEEK 9 & 10
REACT – FRONTEND TECHNOLOGY
• Hypertext Markup Language (HTML)
• Cascading Style Sheets (CSS)
• Introduction to CSS Frameworks (Bootstrap)
• Create-React-App and Project Setup
• Component Patterns in React
• State
• Props
• Life Cycle of React Components
• Functional Component
• Introduction to Hooks
• React Router
• SPA using React Router
• Introduction to Redux and Flux Architecture
• State Management
• Reducers
• Action Creators
• Middlewares (Thunk, Saga)
• Services
• Error Handling
WEEK 11
PROJECTS
• Inventory Management
• Login System
• Ecommerce App and other Mini-Projects.
LABS
Lab assignments will focus on the practice and mastery of contents covered in
the lectures; and introduce critical and fundamental problem-solving
techniques to the students.
Learning Outcomes
• By the end of the session, students should be able to develop RESTFul
Application using Node, Express and MongoDB.
• Increased knowledge on JSON Data format, Node API design with
async JavaScript custom functions.
• Increased knowledge on MERN Architecture and able to design
website layouts.
• By the end of the session, students should be able to develop full stack
MERN projects.