Crafting in 5e (as well as 5.5e) is one of the systems that are sorely lacking in scope and depth. They feel tacked on and video-gamified.
Because of that, I spent a ridiculous amount of time designing my own gathering/crafting system that is both engaging/rewarding for the players, but doesn't allow them to create a factory of magic items or gear.
I also made sure to tie in several underutilized skills so players had a lot less 'feel-bads' about taking skills that rarely, if ever, get used. In my system, suddenly, they're an incredibly important part of the creative process.
A super simple overview is this:
A player wants to craft a +1 Flaming sword.
I offer three paths for item creation and each one has its pros/cons and all three methods are gated by skill level (proficiency, expertise, and mastery) instead of level because it just makes more sense for both characters and NPCs.
1. Enchantment.
The slowest, most expensive of the 3, but most predictable and least risk when failed. The player must have a base item to enchant, but no gathered components are needed. However, a spell-caster that can cast spells of the appropriate level/type to enchant the item is required.
For example - The +1 Flaming Sword might require the caster to cast Burning Hands for many days to enchant the blade and make the fire permanent.
2. Imbuing.
Imbuing is the middle-of-the-road in terms of cost, time investment, and risk. This process also requires a base item to imbue, but a spell-caster is not required. An artisan (e.g. Armorsmith, Jeweler, Fletcher, etc.) or spell-caster may do the imbuing. Imbuing transfers the inherent magical properties of gathered creature components in to base item.
For example - The blood of a Red Dragon might be used to imbue a +1 Flaming Sword.
3. Forging.
Forging is exclusively the artisans domain. None of the previously mentioned base items are required because forging requires a gathered component that is reshaped. Forging is the fastest, least expensive process, but it is also the most risky because failures often result in the destruction of the gathered component(s).
For example - The molten core of a Fire Elemental might be used to forge a +1 Flaming Sword.
Gathering the components for Imbuing and Forging is a whole other can of worms. Creature type is tied to a skill that informs how well a character can determine which parts of a creature could be useful to harvest.
For example - Religion is used for Undead and Demons/Devils. Medicine for Humanoids. Nature for Plants and Beasts, Arcana for Constructs, etc., etc. Components have tierd DCs.
For example -- a Red Dragon might have potential components at these DCs: Hide DC 10, Claws/Teeth DC 12, Blood DC 15, Heart 18, Breath Sac DC 20, etc. and the player identifies everything below the result of the check. I.E. If the result of the check is 17, the character knows that the hide, claws/teeth, and blood are useful and how to remove them safely.
However, identifying useful components is only half the battle. Extracting them successfully is a separate Dex (or Harvesting if they have it) check and failures can be potentially harmful when dealing with components such as poisons, acid, gasses, etc.
Anyway, like I said, this is a very basic description of how my harvesting/crafting system works, but the point of it was to give additional ways for characters to feel useful and develop. I didn't even broach the non-magical crafting but it's very useful for characters, too.