Le Java peut convenir parfaitement pour le developpement de ce genre d´application regarde
http://www.hyperiums.com par exemple!
Pour commencer tu peux deja reflechir à la struture de tes tables mySQL. Mais pour faire tu dois commencer par prendre un papier et un crayon et commencer par noter toutes tes idées.
De ces idées tu selectionneras les meilleures et les plus interessantes.
De là tu pourra definir toujours sur papier comment tout cela fonctionnera.
Et enfin tu pourras definir la structures de tes tables et tu pourras definir aussi ce que tu coderas concretement.