UNPKG

@rehan-warsi/sms

Version:

This project is a simple console based Student Management System. In this project you will be learning how to add new students, how to generate a 5 digit unique studentID for each student, how to enroll students in the given courses. Also, you will be imp

84 lines (72 loc) 2.39 kB
import inquirer from "inquirer"; import chalk from 'chalk'; import { createSpinner } from 'nanospinner'; import { Course } from "./classes.js"; import { Student } from "./classes.js"; import { Teacher } from "./classes.js"; let course = Course.course let student = Student.student let teacher = Teacher.teacher let sleep = () => new Promise((r) => setTimeout(r, 1000)) export async function courseOptions() { const result: any = await inquirer.prompt([ { type: 'rawlist', name: 'courseMenu', message: 'Course Menu : ', choices: [ 'Add New Course', 'View Course', 'Back' ], } ]); if (result.courseMenu == "Add New Course") { await courseAdd() } if (result.courseMenu == "View Course") { await ViewCourse(course) } } async function courseAdd() { const result = await inquirer.prompt([ { type: "input", name: "courseName", message: "Enter Course Name : " }, { type: "input", name: "courseTiming", message: "Enter Course Timing: " }, { type: "number", name: "courseFees", message: "Enter Course Fees: " } ]); let studentName: string[] = [] let teacherName: string[]= [] let newCourse = new Course(result.courseName, result.courseTiming,result.courseFees,studentName,teacherName) const spinner = createSpinner('Adding Course').start() await sleep() Course.addCourse(newCourse) spinner.success({ text: chalk.greenBright("Course Added Successfully") }) } // View Course Function async function ViewCourse(course:Course[]) { if (!course.length) { console.log(chalk.redBright('############ No Course Available ############')) return } console.table(course.map((val) => { return { Name: val.courseName, Timing: val.courseTiming, Fees: val.courseFees, Students_Name: val.studentName.length ? val.studentName : "No Student Enrolled", Teachers_Name: val.teacherName.length ? val.teacherName : "No Teacher Assigned", } })) }