LED display schematic

I've been trying to make a schematic for a possible LED display, it involves a 74HC595 shift register and a 4017 decade counter to make images using persistence of vision. It's not clear in the picture but I'll use 68 Ohms resistors. My question is will this work and do I need resistors for the transistor?

P.s. It's my first time using fritzing so advice would be helpfull
Thank you

It's not clear in the picture ...

Nothing is clear from that picture!

My question is will this work ...

Sorry, can't answer that one.

... do I need resistors for the transistor?

Yes you do.

You also need to research the forward voltage drop of your chosen LEDs.

Not bad for a fritzing schematic, from posts we have seen I didn’t even think that was possible.
The 4017 symbol is crap, can’t tell what the different pins are.
You also need a 0.1uF cap to Gnd on the Vcc pin of each device.

Anyway, the design won’t work. LEDs in series like that will need 12-15V to turn them all on. 74HC595 cannot supply that.
If you have a 12V to 15V source, you can use the '595 to drive NPN transistors that can pull the base of PNP transistors low to source current into the LED anodes.

Your design would need this:

If you look at this datasheet

You can see the similarity to what I drew.
Unfortunately this has a 2V drop across the outputs as its intended for higher current, and you only need 20mA.

This part would do great with a 12V supply.
Can source 24mA, Vout will be at least 11V.
No clock or latch needed, data is detected off the Data pin, at a slow 24Kbps rate, so something a little different would need to be written up to send the data out.

I don't know why I can't find an open source shift register.

I think the decade counter has a maximum forward voltage of 16v so if I switch it's place with the '595 will it work? Just to save on a few transistors.

How will that help? Decade counter only has 1 output high at a time.
I think you’d be better off with TPIC6B595, one per digit, and drop all the transistors.
Simpler code too:

// did a digit change that requires a display update?
if (updateFlag == 1){
updateFlag = 0;
digitalWrite (csPin, LOW);
SPI.transfer (digit0); // lowest
SPI.transfer (digit1);
SPI.transfer (digit2);
SPI.transfer (digit3); // highest
digitalWrite (csPin ,HIGH);

tpic6b595 open drain shift register.pdf (150 KB)

Two more questions, one Fritzing isn't working for me any other CADs you guys recommend that are completely free(I tried KiCAD but the component's pinouts are wrong, or maybe I'm using the wrong packages for the components). And two, why don't the pinouts on a CD4017b(Texas Instruments) come in order like 0 at the top and 9 at the bottom of the same side. Doesn't that make it much easier to use?

I use Eagle exclusively for board designs. Creating new symbols takes a bit of getting used to, as you create the schematic symbol and mechanical footprint.

I use expressPCB for many drawings for discussion here in the forum. Easy to use, can put a symbol together from another very quickly. Not tied to mechanical footlprint.

You can make the symbol have the pins however you like. Fritzing may alow you to do that, it may have some symbol rotation or flipping capability, I never played with it and have no plans to.

Here are some good introductory Youtube videos on starting out with Eagle

Good luck Pedro