I like the Solidity CryptoZombies course for basic learning. To get set up with Truffle, which is very useful for deploying websites based around the blockchain use their Pet Shop tutorial.
But in terms of a good beginner project, think about these:
Some form of gambling game. Doing this will help you learn about algorithms for randomness in Ethereum.
Actual contracts, for example a wallet contract (multisignature), an escrow contract, a contract where someone arbitrates for a dispute
For more difficult, challenging projects, check these out:
- Some form of game like Cryptokitties.
For the hardest projects (not for a beginner for sure):