When creating an open source project on GitHub, it’s important to have a high-quality README for the app. This should include what the app is for, how to use the app, how to install it, how to report issues, and how to make contributions—this last part increases the likelihood that other developers will contribute to the success of the project.
You can quickly and easily create a README file by using a command-line application to generate one. This allows the project creator to devote more time to working on the project.
Your task is to create a command-line application that dynamically generates a professional README.md file from a user's input using the Inquirer package. Review the Good README Guide as a reminder of everything that a high-quality, professional README should contain.
The application will be invoked by using the following command:
node index.js
Because this application won’t be deployed, you’ll also need to provide a link to a walkthrough video that demonstrates its functionality. Revisit the Screencastify Tutorial in the prework as a refresher on how to record video from your computer. You’ll need to submit a link to the video and add it to the README of your project.
AS A developer
I WANT a README generator
SO THAT I can quickly create a professional README for a new project
GIVEN a command-line application that accepts user input
WHEN I am prompted for information about my application repository
THEN a high-quality, professional README.md is generated with the title of my project and sections entitled Description, Table of Contents, Installation, Usage, License, Contributing, Tests, and Questions
WHEN I enter my project title
THEN this is displayed as the title of the README
WHEN I enter a description, installation instructions, usage information, contribution guidelines, and test instructions
THEN this information is added to the sections of the README entitled Description, Installation, Usage, Contributing, and Tests
WHEN I choose a license for my application from a list of options
THEN a badge for that license is added near the top of the README and a notice is added to the section of the README entitled License that explains which license the application is covered under
WHEN I enter my GitHub username
THEN this is added to the section of the README entitled Questions, with a link to my GitHub profile
WHEN I enter my email address
THEN this is added to the section of the README entitled Questions, with instructions on how to reach me with additional questions
WHEN I click on the links in the Table of Contents
THEN I am taken to the corresponding section of the README
Here are some guidelines to help you get started:
-
Create a
.gitignore
file and includenode_modules/
and.DS_Store/
so that yournode_modules
directory isn't tracked or uploaded to GitHub. Be sure to create your.gitignore
file before installing any npm dependencies. -
Make sure that your repo includes a
package.json
with the required dependencies. You can create one by runningnpm init
when you first set up the project, before installing any dependencies. -
Include a video of the typical user flow through your application. This includes views of the prompts and the responses after their selection.
-
Include any other screenshots you deem necessary to help someone who has never been introduced to your application understand the purpose and function of it. This is how you will communicate to potential employers or other developers in the future what you built and why, and to show how it works.
This homework is graded based on the following criteria:
-
A sample README generated using the application must be submitted.
-
Your GitHub repository containing your application code.
-
A walkthrough video that demonstrates the functionality of the README generator must be submitted, and a link to the video should be included in your README file.
-
The walkthrough video must demonstrate how a user would invoke the application from the command line.
-
The walkthrough video must demonstrate how a user would enter responses to all of the prompts in the application.
-
The walkthrough video must demonstrate a generated README that matches the user input and has a functioning table of contents.
-
Satisfies all of the above acceptance criteria plus the following:
- Uses the Inquirer package.
-
Repository has a unique name.
-
Repository follows best practices for file structure and naming conventions.
-
Repository follows best practices for class/id naming conventions, indentation, quality comments, etc.
-
Repository contains multiple descriptive commit messages.
-
Repository contains a high-quality README with description and a link to walkthrough video.
You are required to submit the following for review:
-
A walkthrough video demonstrating the functionality of the application.
-
A sample README.md file for a project repository generated using your application
-
The URL of the GitHub repository, with a unique name and a README describing the project
© 2020 Trilogy Education Services, LLC, a 2U, Inc. brand. Confidential and Proprietary. All Rights Reserved.