Skip to content

Astranag/Team-Profile-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Object-Oriented Programming: Team Profile Generator

License: MIT NPM NodeJS

📖 Description

As a manager, I want to create a webpage that displays my team's essential information, such as their email addresses and GitHub profiles, so that I can access it quickly. To achieve this, I need a functional Node.js command-line application that can gather necessary details about my software engineering team members. The application should pass all the provided tests without any errors and generate an HTML webpage that showcases a summary for each person on the team.

🚩 Table of Contents

Features

  • Create a command-line application that accepts accepts user input using the provided starter code.
    • Create classes for each team member provided and export them. The tests for these classes (in the _tests_ directory) must ALL pass.

      • The first class is an Employee parent class with the following properties and methods:
        • name
        • id
        • email
        • getName()
        • getId()
        • getEmail()
        • getRole()—returns 'Employee'
      • The other three classes will extend Employee.
      • In addition to Employee's properties and methods, Manager will also have the following:
        • officeNumber
        • getRole()—overridden to return 'Manager'
      • In addition to Employee's properties and methods, Engineer will also have the following:
        • github—GitHub username
        • getGithub()
        • getRole()—overridden to return 'Engineer'
      • In addition to Employee's properties and methods, Intern will also have the following:
        • school
        • getSchool()
        • getRole()—overridden to return 'Intern'
      • Finally, although it’s not a requirement, consider adding validation to ensure that user input is in the proper format.
    • Write code in index.js that uses inquirer to gather information about the development team members and creates objects for each team member using the correct classes as blueprints.

      • When a user starts the application then they are prompted to enter the team manager:
        • Name
        • Employee ID
        • Email address
        • Office number
      • When a user enters those requirements then the user is presented with a menu with the option to:
        • Add an engineer
        • Add an intern
        • Finish building the team
      • When a user selects the engineer option then a user is prompted to enter the following and then the user is taken back to the menu:
        • Engineer's Name
        • ID
        • Email
        • GitHub username
      • When a user selects the intern option then a user is prompted to enter the following and then the user is taken back to the menu:
        • Intern’s name
        • ID
        • Email
        • School
      • When a user decides to finish building their team then they exit the application, and the HTML is generated.
    • Call the render function (provided for you) and pass in an array containing all employee objects;

      • The render function will generate and return a block of HTML including templated divs for each employee!
    • Create an HTML file using the HTML returned from the render function.

      • Write it to a file named team.html in the output folder.
      • You can use the provided variable outputPath to target this location.

      Installation

npm install --save inquirer@^8.0.0

npm i jest

Usage

The application will be invoked by using the following command:

node index.js

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please open an issue or create a pull request.

Screen Recording

Link to the Walkthrough Video

Visit the generated Team Profile here

Demo

Questions

Follow me on GitHub at https://github.com/Astranag/

Feel free to reach out to me for any inquiries at stivinmavelil@gmail.com.

About

Object-Oriented Programming: Team Profile Generator

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published