Skip to content

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.

License

Notifications You must be signed in to change notification settings

FAC-73/your-silent-face

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

your-silent-face

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.

Animated GIF of profile generator application in terminal
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.

Table of Contents

Description

Profile generator webpage

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

User Story

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

Acceptance Criteria

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

Installation

Install NPM

npm init

Install inquirer

npm install inquirer

Install JEST

npm install jest --global

Usage

Run the following command at the root of your directory and answer the prompted questions in terminal/bash.

node index.js

Licence

License: MIT

Contributing

Kay Davis

Built with

Questions?

GitHub Username:

FAC-73

✉️ Email me:

kaydavis21@googlemail.com

📁 GitHub project repo:

https://github.com/FAC-73/dream-attack

🔗 Deployed application:

https://github.com/FAC-73/dream-attack

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published