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
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.
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