Self-paced

Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.

Bootcamp

Learn live

Join us for our free workshops, webinars, and other events to learn more about our programs and get started on your journey to becoming a developer.

Upcoming live events

Learning library

For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.

It makes sense to start learning by reading and watching videos about fundamentals and how things work.

Search from all Lessons


LoginGet Started

Register to 4Geeks

← Back to Projects

Code an Excuse Generator in JavaScript

Difficulty

  • easy

Average duration

4 hrs

Technologies

Difficulty

  • easy

Average duration

4 hrs

The Goal

Disneyland for procrastinators and lazy people.

This project is ideal for avoiding someone annoying; it takes no more than 20 lines of code, and it can save you for the rest of your life!

The Goal

We wanted a project that used very little JavaScript but still had a very fun application. The excuse generator takes 20 lines of code, is super simple to understand, and is the perfect first project for any beginner developer.

📝 Instructions:

  1. Please create a small website that generates an excuse each time you refresh the page, it has to look like this: Checkout the demo animation.

Discuss with your classmates the strategy first

How can we generate an excuse? How are sentences built?

Excuse generator explanation

The idea is to generate each part of the sentence randomly to come up with great excuses!

🌱 How to start this project

Do not clone this repository because we are going to be using a different template.

We recommend opening the vanillajs-hello template using a provisioning tool like Codespaces (recommended) or Gitpod. Alternatively, you can clone it on your local computer using the git clone command.

This is the repository you need to open or clone:

1https://github.com/4GeeksAcademy/vanillajs-hello

👉 Please follow these steps on how to start a coding project.

💡 Hints:

  • Update your index.html with one excuse hard-coded, no JS, just one excuse in pure plain HTML.
  • The excuse must be inside an HTML tag that has an id assigned, for example:
1 <p id="excuse">My dog ate my homework</p>
  • Using JavaScript, create a function that generates and returns a random excuse with the following structure:
1let who = ['The dog', 'My grandma', 'The mailman', 'My bird']; 2let action = ['ate', 'peed', 'crushed', 'broke']; 3let what = ['my homework', 'my phone', 'the car']; 4let when = ['before the class', 'when I was sleeping', 'while I was exercising', 'during my lunch', 'while I was praying'];
  • To create a consistent excuse, you have to concatenate one item from each array in the proper order.
  • Call the function onload and set the excuse into the innerHTML of the #excuse HTML element.

Technologies

HTML, CSS3, JavaScript, Webpack.

Fundamentals

This exercise covers the following fundamentals:

  1. Using external JavaScript files in your project.
  2. How to work with arrays.
  3. Generating random numbers.
  4. Concatenating strings.
  5. Using functions (at least a bit).
  6. Working with events (at least a bit).

This and many other projects are built by students as part of the 4Geeks Academy Coding Bootcamp by Alejandro Sanchez and many other contributors. Find out more about our Full Stack Developer Course, and Data Science Bootcamp.

Sign up and get access to solution files and videos

We will use it to give you access to your account.
Already have an account? Login here.

By signing up, you agree to the Terms and conditions and Privacy policy.

Difficulty

  • easy

Average duration

4 hrs

Difficulty

  • easy

Average duration

4 hrs

Difficulty

  • easy

Average duration

4 hrs

Difficulty

  • easy

Average duration

4 hrs

Sign up and get access to solution files and videos

We will use it to give you access to your account.
Already have an account? Login here.

By signing up, you agree to the Terms and conditions and Privacy policy.

Difficulty

  • easy

Average duration

4 hrs

Difficulty

  • easy

Average duration

4 hrs