A Node.js command-line application that takes in information about employees on a software engineering team, then generates an HTML webpage that displays summaries for each person.
Download the video of the generator here
Quickly and easily create a team profile HTML document by using a node.js application in the command line to generate one.
A node.js application that prompts a user for input using inquirer.js generating a html document. The HTML document is generated and written to a directory called dist and can be found here
This app uses a test-driven development approach. JEST is used to perform tests on all the class constructors to ensure that they behave as intended. A directory named test contains all the test.js files checking the js classes used in the application.
Using an object-orientated programming approach, using classes and constructors to generate new team members determined by information inputted by the user. The app is run on Node.js and leverages the "Inquirer.js" and "FS" node modules.
Separate .js files for each member classes are stored in separate js. files and use the module.export and require methods to pass data.
To generate the HTML files the FS node module is used to generate strings written in JS. To ensure the UI can scale to accomodate an unlimited number of team members, the html is constructed in a modular way. Starting with the head and body HTML elements. Followed by a new row and a html div using the class .card for each new member object that is created. Content within the card is appended with information captured from the user input.
View the webpage output of the generator here
AS A manager
I WANT to generate a webpage that displays my team's basic info
SO THAT I have quick access to their emails and GitHub profiles
GIVEN a command-line application that accepts user input
WHEN I am prompted for my team members and their information
THEN an HTML file is generated that displays a nicely formatted team roster based on user input
WHEN I click on an email address in the HTML
THEN my default email program opens and populates the TO field of the email with the address
WHEN I click on the GitHub username
THEN that GitHub profile opens in a new tab
WHEN I start the application
THEN I am prompted to enter the team manager’s name, employee ID, email address, and office number
WHEN I enter the team manager’s name, employee ID, email address, and office number
THEN I am presented with a menu with the option to add an engineer or an intern or to finish building my team
WHEN I select the engineer option
THEN I am prompted to enter the engineer’s name, ID, email, and GitHub username, and I am taken back to the menu
WHEN I select the intern option
THEN I am prompted to enter the intern’s name, ID, email, and school, and I am taken back to the menu
WHEN I decide to finish building my team
THEN I exit the application, and the HTML is generated
Install NPM
npm init
Install inquirer
npm install inquirer
Install JEST
npm install jest --global
Run the following command at the root of your directory and answer the prompted questions in terminal/bash.
node index.js