• Post category:StudyBullet-13
  • Reading time:13 mins read


Mastering NodeJS, MongoDB, ExpressJS, Mongoose, and RESTful API Development for Building School Management System

What you will learn

You will have a clear understanding of how to develop a school management system

You will learn how to create exams endpoints

You will learn how to allow students to take exams

You will learn how to implement generate exams report

You will learn how to promote a student from one class to another

You will learn how to allow students to check their exams results

You will learn how to allow admin to publish and unpublished exams results

You will learn how admin assign programs and classes to teachers

You will learn how admin will register new students

You will learn how admin can suspend and withdraw students

You will learn how to prevent students to write exams if suspended or withdrawn

You will learn how admin can create classes, programs, academic terms/years/year group/subjectss

You will learn how to implement role access level

You will learn how to implement pagination and filtering

You will learn how to implement advanced results middleware

Description

The “Nodejs School Management System API course 2023” is a comprehensive and hands-on course designed to teach students how to build a fully functional school management system API using Node.js. The course is intended for developers, programmers, and anyone interested in building robust and efficient web applications.

Throughout the course, students will learn how to use Node.js and its various modules to create a RESTful API that can handle all the necessary functionality for a school management system. Students will learn how to create endpoints, handle routing, and interact with a database using MongoDB. They will also learn how to implement security measures such as authentication and authorization to protect the API from unauthorized access.

The course will cover a wide range of topics including Node.js fundamentals, Express.js, MongoDB, and RESTful API development. Students will also learn how to testΒ  their API using a tool called Postman.


Get Instant Notification of New Courses on our Telegram channel.


By the end of the course, students will have a solid understanding of how to build and deploy a production-ready school management system API.

In addition to the technical aspects of the course, students will also learn how to design a scalable and maintainable API architecture. They will learn how to design the database schema and handle database migrations.

This course is ideal for students who have some basic programming experience and are looking to improve their skills in building web applications. By the end of the course, students will have developed a strong foundation in Node.js, MongoDB, and RESTful API development, and will be well-prepared to build their own school management system API or any other web applications.

English
language

Content

Getting Started

App Features
Extensions and Postman Downloads
Structuring The Project
Creating Server
Advanced Server

Creating Application Models

Admin Model
Program Model
Subjects Model
Academic Year Model
Academic Terms Model
Year Groups Model
Class Levels Model
Teachers Model
Students Model
Exams Model
Questions Model
Exams Results-Reporting Model

Are You Ready? Let’s Go

Database Connection Function
MongoDB Connection String
Environment Variables (DOTENV)
MongoDB in VSCODE
Model View Controller (MVC) Explained
Admin Dummy Routes
Checking Admin Routes
Environments in Postman
Refactor To Use Express Routing
Admin Controller Dummy Data
Register Admin Controller Logic Implementation
Hashing Admin Password
Admin Login Controller

Middleware And Error Handling

Middleware Explained
How Middleware Works
Custom Middleware
Error Handling
Custom Global Error Handler
Refactor Global Error Handler
Not Found Route Handler

Authentication And Authorization

is-logged in middleware, How it’s implemented
How Jsonwebtoken (JWT) Works
Generate Token
Token Verification
Is Logged In middleware with Token

Admins Controller

Admin Profile Controller
Admin Model and Controller modified
Fetch All Admins Controller
Save Admin Token In Postman
Is Admin Middleware
Update Admin Profile
Fixed Login Error After Updating
Fixed After Update Admin
Hashing and Verify Password Helper function

School Academics Controller

Create Academic Year
Get All Academic Years
Get Single Academic Year
Update Academic Year
Delete Academic Year
Associate Academic Year To Admin
Express Routes Chaining

School Academic Terms, Classes, Programs, Subjects, Year Groups Controllers

Academic Terms CRUD Controllers
Academic Terms Routes
Class Levels CRUD Controllers
Programs CRUD Controllers
Subjects CRUD Controllers
Year Groups CRUD Controllers

Teachers Controllers

Admin Teacher Registration
Teacher Login
Teachers Middleware
Admin Fetching All Teachers
Admin Get Single Teacher
Teacher’s Profile
Teacher Update Profile
Admin Assigning Roles To Teacher

Exams Controllers

Teacher Creating Exams
Exams Routes
Fetch All Exams
Fetch Single Exam
Update Exam

Students Controller

Admin Registering Students
Student Login
Students Middleware
Student Profile
Admin Fetching All Students
Admin Fetching Single Student
Student Update Profile
Admin Assigning Class and Programs to Students

Exams Questions Controllers

Logic Behind Creating Exams Questions
Create Questions
Questions Routes
Populate Exams Questions
Avoid Creating Duplication Of Questions
Get All Questions
Fetch Single Question
Update Question

Students Writing Exams Controllers

Writing Exams Logic
Writing Exams Dummy Controller
Get Exam Questions
Student submitting Answers
Marking Students Questions
Check if all questions Answered
Building Up Examinations Results
Calculate Exams Results Status
Calculating Exams Results Remarks
Generating Exams Report
Avoid Students taking multiple Exams
Modified Students Model
How To Drop Database
Adding New Records

Students Promotion to Next Class

Promoting Student Logic
Promoting from Level 100 to Level 200
Promoting To Final Year
Promoting Students To Graduate
Avoid students Taking Exams if Suspended

Students Checking Exams Results Controller

Exams Results Checking Logic
Exams Results Checking Dummy Controller
Fetching All Exams Results
Exams Results Model Modification
Exams Results Checking Implementations
Populate Exams Questions
Returning All Answered Questions
Hide Some Fields from Exams Results
Hide Exams Results until Is Published
Admin Publishing And Unpublishing Exams Results
Populate Admin Profile with Students And Teachers

Pagination And Filtering

Pagination introduction
Pagination: Skip and Limit
Pagination: Query Strings
Pagination: Pages & Skip
Pagination Results
Filtering: Understanding Mongoose Query
Filtering: Find Teacher By Name
Filtering Improved

Advanced Features (Refactoring)

Advanced Results Middleware Logic
Advanced Results Passing Data to Response Object
Advanced Results Middleware: Passing To Routes
Advanced Results With Populate Method
Is Authenticated Global Middleware
Role Restriction Middleware