As fun as blasting asteroids to dust sounds, it might get quite boring in the long run. At least without widely varied ship design and weaponary. Modules support, modify, enable or enhance the abilities of a ship. A few drafts of equipped ships.
Assembling a spaceship starts from its hull. Either from premade meshes or by assembling few standard sized hull blocks. These blocks can then be slotted with a wide variety of modules ranging from utilities to weapons and warp engines. A smaller ship is likely to be more agile, but larger one most likely packs quite a punch and can also take some serious beating.
Component positioning is a matter not taken lighly. It might be a good idea to place the generator to a well protected slot so that it doesn't blow up from the first hit in combat. At this point it is uncertain if, and what kinds of adjadency bonuses modules grant to each other. Either long days of routing power for the most efficient configuration or just a boring, sub-module based system for maximum min-maxing(like in EVE). Former needs quite a few module slots to be entertaining, the latter works just as well even with only a few. Fixed number of slots per ship type / shared max volume / both?
Modules can then be modified further by various tradeoffs. For example over-clocking a cannon yields vastly increased damage but causes it to produce larger amounts of heat and reduces its power efficiency. If that is not enough, a fearless captain can initiate a critical overload that has a chance to damage not only the component itself, but in the worst-case also the whole ship. But that risk doesn't go unrewarded, it might turn the tide of the battle. And better yet, a ship specially built for such operation can quite reliably mitigate the risk of a blown up module.
Fixed stats or random: fixed merchants, or diablo / mmo / borderlands -style randomized loot. Reaserch could also be one way to get better stuff: resources and possibly locations as a price. This a partly a matter of which kind of designs are wanted to be possible, and also a matter of game design: rewarding loop, pacing etc.