4Geeks logo
4Geeks logo
About us

Learning library

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

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

Full-Stack Software Developer

Data Science and Machine Learning - 16 wks

Search from all Lessons

Social & live learning

The most efficient way to learn: Join a cohort with classmates just like you, live streams, impromptu coding sessions, live tutorials with real experts, and stay motivated.

← Back to Projects

Continue learning for free about:

Random Card Generator

Goal

4Geeks Coding Projects tutorials and exercises for people learning to code or improving their coding skills

Difficulty

beginner

Repository

Click to open

Video

Click to open

Live demo

Not available

Average duration

4 hrs

Technologies

Random Card Dealer in Javascript, HTML and CSS

In this project, you will learn how to change your website styles during the runtime using VanillaJS (plain normal js).

πŸ“ Instructions

Create an algorithm that randomly builds a card on every refresh:

  1. Every time the website refreshes a new random card needs to show.

  2. The card must have one of the possible suits: Hearts, Spades, Clubs and Diamonds.

  3. The card value must be one of the following: 2 to 10, King, Queen, Jack or Ace, (no joker).

In the end, the project needs to look similar to this demo.

🌱 How to start this project

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

We recommend opening the vanilla.js boilerplate 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:

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

πŸ‘‰ Please follow these steps on how to start a coding project.

πŸ’‘ Important: Remember to save and upload your code to GitHub by creating a new repository, updating the remote (git remote set-url origin <your new url>), and uploading the code to your new repository using the add, commit and push commands from the git terminal.

πŸ’‘ Hints

  • Remember that the first event of a website lifecycle is onLoad (your code starts running there). You should generate a random number between 1 and 4 to pick a suit and another random number between 0 and 12 to pick a card number.

  • Create a general .card class that applies the general styles to each card, and one additional CSS class for each suit: .spade, .club, .heart & .diamond.

  • Apply the .card class to the entire div, but only apply one of the suit classes at a time, depending on what suit you want to apply. For example, a 3 of Hearts will have this HTML declaration:

1 <div class='card heart'></div>
  • You can grab the icons from here (copy and paste into your code): ♦ β™₯ β™  ♣

😎 Feeling Confident?

The following requirements are not needed to successfully finish this project, but you can try and challenge yourself!

+1 Add a button that generates a new card when clicked.

+1 Add a timer that generates a new card every 10 seconds.

+1 Allow the user to specify the card width and height using text inputs.

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.

Goal

4Geeks Coding Projects tutorials and exercises for people learning to code or improving their coding skills

Difficulty

beginner

Repository

Click to open

Live demo

Not available

Average duration

4 hrs